Start with the question you want the link to answer
Suppose you are promoting an autumn workshop through an Instagram profile link, a LinkedIn post and an email. You want to compare website visits from those placements. Give the workshop one campaign name and each referring channel its own source. Keep the destination page the same while you compare placements; otherwise a change in page design or offer can confuse the comparison. A tagged link labels a visit. It cannot tell you how many people saw a post without clicking, or prove that a creative caused a purchase.
Write a naming sheet before making links
For this example, use autumn-workshop as the campaign, instagram as the source, social as the medium and profile-link as the content label. The LinkedIn version changes source to linkedin and content to founder-post. The email changes source to newsletter, medium to email and content to first-announcement. This is an example convention, not a universal list of channel names. Pick names your team understands and use the same spelling and capitalization each time. Keep customer names, email addresses and other personal details out of every field.
Placement source medium campaign content
Instagram profile instagram social autumn-workshop profile-link
LinkedIn post linkedin social autumn-workshop founder-post
Newsletter newsletter email autumn-workshop first-announcementBuild the URL without losing its existing parameters
Open the free builder and replace its example destination with your landing page. Source, medium and campaign are required in the tool. Content and keyword are optional. If your destination already selects a plan or jumps to a section, keep those parts. In the worked URL below, plan=starter still selects the plan and #dates still identifies the section. The builder replaces only the five UTM fields it exposes; it preserves other parameters. Empty optional fields remove their old values, so an old creative label cannot silently survive into a new link.
https://example.com/workshop?plan=starter&utm_source=instagram&utm_medium=social&utm_campaign=autumn-workshop&utm_content=profile-link#datesRun a small check before sharing widely
Copy the generated link into a new browser tab. Does it reach the intended page and section? Does the page behave correctly with its query string? If a redirect is involved, check that the campaign parameters survive it. Then make a controlled visit using an analytics setup you can inspect. In Google Analytics, campaign dimensions are available in the Traffic acquisition report. Consent, filtering and reporting delays can affect what appears, so one missing visit does not establish that the URL is broken. The builder itself does not install analytics or verify a visit.
Keep a record beside your publishing calendar
Save the final URL, placement, campaign name and intended publishing date in a shared sheet. When you schedule a post, copy from that record instead of rebuilding the link from memory. If you revise a placement, update the record too. Keep an untagged canonical destination in a separate column so someone checking the page can distinguish the base address from a campaign link. Reeling can help prepare and schedule supported posts; the link builder remains useful even if you publish manually.
Compare like with like, then decide what to try next
Look at a comparable time window for each placement and record when the links actually went live. Check visits alongside the business action you care about, using the same definition for every placement. A small number of visits is a weak basis for ranking creative ideas. If two links differ in audience, placement, timing and wording, the report does not isolate which change mattered. Use the first campaign to find missing tags and confusing names; use the next to ask a narrower question. A tidy naming system makes that second campaign much easier to interpret.