Build sequence links
How it works
Set the constants
Destination URL, source, medium and campaign are the same across a sequence. They are lower-cased and slugged so “Cold Email” and “cold-email” do not become two rows in a report.
Expand the variables
Steps and variants are the parts that change. The tool generates one link per step × variant with utm_content set to identify it, and optionally utm_term for the segment.
Encode properly
Existing query parameters on the destination are kept, fragments are preserved after the tags, and values are percent-encoded so a merge tag with a space does not break the link.
Copy into the sequence
Each link has a copy button and the table exports as CSV. Paste the step-1 link into step 1, and so on — the sending tool's click tracking wraps it and unwraps it on click.
What each parameter is for
utm_source answers “where did this come from” — use a fixed value like cold-email, or the sending tool's name if you run more than one. utm_medium is the channel and should be email so GA4 files it under its Email default channel group; anything else lands in Unassigned. utm_campaign names the list or offer: segment, persona, quarter — q4-logistics-vp-ops. utm_content distinguishes emails within the campaign: step and variant. utm_term is optional and best used for the segment split you want to compare, like company size. Keep all five lower case with hyphens; GA4 treats Cold-Email and cold-email as different sources and you will spend an afternoon merging them.
How click tracking interacts with UTMs
Every sending tool wraps links in its own tracking domain — https://link.yourtrackingdomain.com/abc — and redirects to your URL on click, tags intact. That is fine for analytics and bad for deliverability if the tracking domain is the tool's shared one; the tracking domain checker covers that. What matters here is that the tagged URL is what the tool wraps, so paste the tagged link into the template, not the bare one. Some tools also add their own parameters on redirect; check one click end to end in GA4's realtime view before the campaign runs.
Whether a first email should have a link at all
Often not. A first touch with a link is a filter signal and a friction point; the reply is the conversion. Links belong in the follow-ups where you are offering the two-pager or the case study, and in the reply you send to someone who asked. Tag those. For the first email, the UTM question is moot — leave it linkless and let the reply rate be the metric.
Reading the report
In GA4, go to Reports → Acquisition → Traffic acquisition, set the primary dimension to session campaign and add session manual ad content as a secondary. Each row is then a step and variant; add conversions as a metric and you have the only funnel report a cold email operation really needs. The decoder on this page reads tags back out of a link, which is useful when you inherit a sequence and want to know what someone named things.
Frequently asked questions
Should utm_source be the tool name or “cold-email”?
Pick one convention and keep it. If you run one tool, cold-email is more readable. If you run several, the tool name lets you compare them — but then medium must still be email so the channel grouping works.
Does GA4 need utm_id?
No. utm_id links to imported cost data and is irrelevant for email. The five classic parameters are enough.
What if the destination already has UTMs?
The tool replaces existing utm_ parameters with the ones you set and keeps every other parameter. It warns you when it does this.
Can I use merge tags in the values?
Yes — the tool leaves {{ }} and { } tags unencoded so the sending tool can fill them. Keep the rendered value simple: a company name with spaces becomes a percent-encoded mess that still works but is ugly in reports.
Is anything stored?
No. Everything runs in your browser.
Last reviewed
What to run next
The checks that most often follow this one.
More in this category
Guides that go deeper
When the tools tell you something is wrong
The diagnostics here are free and always will be. When the fix is bigger than a DNS record, this is the work I do.
Deliverability rescue
Mail landing in spam, replies gone quiet, or a domain suddenly blocked. I find the actual cause rather than guessing, and fix it.
- Authentication and alignment failures
- Blocklist delistings and reputation repair
- Gateway and filter-level blocks
- A written report on what broke and why
Email & sending infrastructure
Sending domains, inboxes, authentication and warmup, built to survive volume instead of burning down in a month.
- Domain and inbox fleets at any scale
- SPF, DKIM, DMARC and tracking domains
- Google Workspace and Microsoft 365 inboxes
- Handover documentation you actually own
Domain, DNS & migration
Changing registrar, mail provider or host without a day of downtime or a week of mail silently failing.
- Registrar and nameserver moves
- Workspace and Microsoft 365 migrations
- MX, SSL and subdomain cutover
- Staged rollout with rollback at every step
Monitoring & retainer
Infrastructure drifts. Records get edited, certificates expire, domains get listed. Ongoing eyes on the fleet.
- Scheduled checks across every domain
- Alerts before your clients notice
- Monthly reporting
- Priority response when something breaks
Start with a call
Bring a domain and the symptom. I will tell you what is actually wrong and whether you need me at all — plenty of people leave that call able to fix it themselves.
Thirty minutes, no pitch
We will run the checks together on your actual domains, and you will leave knowing what is broken, what it takes to fix, and what it should cost. If that is a job you can do in-house, I will say so.