Implementation Recipes: Where to Click
Step-by-step UI paths for Google Ads, Meta, LinkedIn, Bing, Mailchimp, HubSpot, and Klaviyo.
On this page
- Google Ads: Tracking Templates and ValueTrack
- ValueTrack Parameters
- Meta Ads Manager: URL Parameters
- Dynamic Parameters
- LinkedIn Campaign Manager: URL Tracking Parameters
- Dynamic Macros
- Microsoft / Bing Ads: Tracking Templates
- Dynamic Parameters
- Mailchimp: Google Analytics Tracking
- HubSpot: Email Source Tracking
- Klaviyo: UTM Tracking
Chapter 4 tells you what values to use. This appendix shows you where to enter them: the exact fields, menus, and settings in each platform.
These instructions reflect platform UIs as of mid-2026. Ad platforms and ESPs redesign their interfaces regularly. If a menu path has changed, the field names are usually the same: search for them in the platform’s settings.
Google Ads: Tracking Templates and ValueTrack
Google Ads gives you three places to add tracking parameters. Understanding which to use is the first step.
| Field | What it does | When to use it |
|---|---|---|
| Tracking template | Wraps your landing page URL, used for redirect-based tracking or third-party click trackers. Uses {lpurl} as a placeholder for your final URL. | When you use a third-party click tracker, or want parameters applied via redirect |
| Final URL suffix | Appends parameters directly to the end of your landing page URL. No redirect involved. | Most common choice for UTM tracking. Simpler than tracking templates |
| Custom parameters | User-defined key-value pairs (up to 8) referenced via {_paramname} in your template or suffix. | When you need to pass custom values that vary by ad group or keyword |
Where to set them (account level, applies to all campaigns):
- Left menu → Admin → Account settings
- Select Tracking template
- Enter your tracking template or Final URL suffix value, then Save
Where to set them (campaign, ad group, or ad level):
For campaigns and ad groups, add the Tracking template column to the table and edit it with the pencil icon. For an individual ad, edit the ad and expand Ad URL options. Lower levels override higher levels: Keyword > Ad > Ad Group > Campaign > Account.
Example Final URL suffix:
utm_source=google&utm_medium=cpc&utm_campaign=spring_sale-shoes-2025_03&utm_term={keyword}&utm_content={creative}
Note: don’t start with ?: Google adds it automatically.
Example Tracking template:
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign=spring_sale-shoes-2025_03&utm_term={keyword}&utm_content={creative}
ValueTrack Parameters
ValueTrack parameters are dynamic placeholders that auto-populate with campaign data at click time. Syntax: single curly braces, no prefix.
| Parameter | Returns | Example output |
|---|---|---|
{keyword} | The keyword that triggered the ad | running+shoes |
{creative} | Ad creative ID (numeric) | 83291045 |
{campaignid} | Campaign ID (numeric) | 2048573 |
{adgroupid} | Ad group ID (numeric) | 9182736 |
{matchtype} | Match type: e (exact), p (phrase), b (broad), a (AI Max keywordless) | e |
{network} | Network: g (Google Search), s (search partners), d (Display); video and Performance Max clicks return other codes (ytv, vp, gtv, x) | g |
{device} | Device: m (mobile), t (tablet), c (computer) | m |
{placement} | Site where ad appeared (Display Network) | nytimes.com |
{loc_physical_ms} | User’s geographic location (numeric ID) | 1014221 |
Important: ValueTrack returns numeric IDs for campaigns, ad groups, and ads, not names. If you want the campaign name in your UTMs (which is more readable in reports), hardcode it in the suffix rather than using {campaignid}. But remember: for Google Ads traffic, GA4 builds its traffic dimensions from the gclid, and your manual utm_term and utm_content survive only in the separate Manual dimensions (see Chapter 4’s auto-tagging section). ValueTrack matters most for non-GA4 analytics platforms.
Quirk: Changes to tracking templates can take 24–48 hours to be reflected in ad serving.
Meta Ads Manager: URL Parameters
Meta’s UTM field is at the ad level only, not at campaign or ad set level.
Where to find it:
- Open or create an ad in Ads Manager
- Scroll to the “Tracking” section (bottom of the ad setup panel)
- Find the field labeled “URL Parameters”
- Click “Build a URL Parameter” for a guided builder, or type directly into the text field
Example (typed directly):
utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}
Dynamic Parameters
Meta uses double curly braces. The builder offers these as a dropdown when you click into any value field.
| Parameter | Returns |
|---|---|
{{campaign.name}} | Campaign name |
{{adset.name}} | Ad set name |
{{ad.name}} | Ad name |
{{campaign.id}} | Campaign ID (numeric) |
{{adset.id}} | Ad set ID (numeric) |
{{ad.id}} | Ad ID (numeric) |
{{site_source_name}} | Platform where shown: fb, ig, msg, an |
{{placement}} | Specific placement: feed, stories, reels, etc. |
Critical: Do not put UTM parameters in the “Website URL” / destination URL field. Meta may strip or modify them. Always use the dedicated “URL Parameters” field: that’s what it’s for.
Quirk: Dynamic name parameters pull the name at the time the ad is published. If you rename a campaign after launch, the old name continues to appear in tracking data until the ad is re-published. Govern your naming before launch.
LinkedIn Campaign Manager: URL Tracking Parameters
LinkedIn takes URL tracking parameters at the account and campaign levels, and static parameters can also be added on individual ads. Dynamic macros work only at the account and campaign levels.
Where to find it:
- In Campaign Manager, hover over the campaign name → click “Edit”
- Navigate to Step 2 of campaign setup
- Scroll to the “URL tracking parameters” section
- Enter key-value pairs (e.g., Key:
utm_source, Value:linkedin) - Click “Add parameter” to add more rows
Parameters set at the campaign level automatically apply to all ads within that campaign.
Dynamic Macros
LinkedIn uses double curly braces; the macro must be all capital letters:
| Macro | Returns |
|---|---|
{{CAMPAIGN_NAME}} | Campaign name |
{{CAMPAIGN_ID}} | Campaign ID |
{{AD_SET_NAME}} | Ad set name |
{{AD_SET_ID}} | Ad set ID |
{{AD_NAME}} | Ad name |
{{AD_ID}} | Ad ID |
{{ACCOUNT_NAME}} | Account name |
{{ACCOUNT_ID}} | Account ID |
Limitations:
- Does not work with Thought Leader Ads or boosted company posts
- LinkedIn renamed its hierarchy in October 2025 (Campaign Group → Campaign, Campaign → Ad Set) and the macros followed: the old
{{CAMPAIGN_GROUP_NAME}}/{{CAMPAIGN_NAME}}/{{CREATIVE_NAME}}family became{{CAMPAIGN_NAME}}/{{AD_SET_NAME}}/{{AD_NAME}}, and existing setups updated automatically. Careful when reading old documentation:{{CAMPAIGN_NAME}}now returns the name of what the old hierarchy called a campaign group
Microsoft / Bing Ads: Tracking Templates
Microsoft Ads follows the same structure as Google Ads: tracking template, final URL suffix, and custom parameters.
Where to set them (account level):
- Left menu → hover over Campaigns → Settings → Account level options
- Enter your template in the “Tracking template” field
- Select Save
Quick auto-tagging option: In the same Account level options section, under “Auto-tagging of UTM”, check “Add UTM tags to my destination URLs”, then choose whether Microsoft replaces your existing tags or keeps them and adds only what’s missing. Auto-tagging sets utm_source=bing, utm_medium=cpc, the campaign name as utm_campaign, the ad group as utm_content, and the keyword as utm_term. Minimal setup, but the values are Microsoft’s, not yours.
Example tracking template:
{lpurl}?utm_source=bing&utm_medium=cpc&utm_campaign={Campaign}&utm_term={keyword}&utm_content={AdGroup}
Dynamic Parameters
| Parameter | Returns | Note |
|---|---|---|
{Campaign} | Campaign name (not ID) | Unlike Google’s {campaignid} which returns numeric ID |
{CampaignId} | Campaign ID (numeric) | |
{AdGroup} | Ad group name | |
{AdGroupId} | Ad group ID (numeric) | |
{AdId} | Ad ID (numeric) | |
{keyword} | Matched keyword | |
{QueryString} | Actual search query typed by user | More granular than {keyword} |
{MatchType} | Match type: e, p, b | |
{Network} | o (owned and operated: Bing, AOL, Yahoo), s (syndicated partners), a (audience placements) | |
{Device} | m, t, or c | |
{msclkid} | Microsoft click ID | For conversion tracking |
Key difference from Google: {Campaign} returns the campaign name, not the numeric ID. This is actually more useful for UTM tracking: your reports show readable campaign names instead of ID numbers.
Mailchimp: Google Analytics Tracking
Where to find it (regular campaign):
- Open the campaign in the Campaign Builder
- Scroll to the bottom of the campaign checklist
- Find “Settings & Tracking” → click “Edit”
- Check the box under “Google Analytics link tracking”
- Enter your desired campaign name in the text field that appears
For automations: Open the automation → “Edit Settings” → check “Google Analytics link tracking”
What it does when enabled:
- Appends
utm_source=mailchimp,utm_medium=email, andutm_campaign=[your value]to every link
To customize individual parameters (automation flows only): In the flow, click the three vertical dots (kebab menu) next to the email action → “Modify UTM Parameters” → use dropdowns to change each parameter
Critical warning: If you turn on Google Analytics tracking AND manually add UTM parameters to links in the email body, you get double-tagged URLs with duplicate parameters. Choose one approach:
- Turn the toggle on and accept Mailchimp’s defaults (quick, less control)
- Disable the toggle and tag every link manually (more work, full control)
Never do both.
HubSpot: Email Source Tracking
Where to find tracking modes:
- Click the Settings gear icon (top navigation bar)
- Left sidebar → Marketing → Email
- Click the “Tracking” tab
- Scroll to “Source tracking”
The three options:
| Setting | What it does | When to use |
|---|---|---|
| “Add source tracking tags to all URLs” | HubSpot adds its own UTMs to every link. Overwrites your manual UTMs. | Only if you’re fully committed to HubSpot’s default values |
| “Add source tracking only if no existing tags in URL” | HubSpot adds UTMs only to links that don’t already have tracking parameters | Recommended. Lets you manually tag key links with custom utm_content while HubSpot handles the rest |
| “Don’t add source tracking tags” | No automatic tagging: you handle everything | When you need full control over every parameter on every link |
Where to find the Tracking URL Builder:
- Settings gear → left sidebar → Tracking & Analytics → Tracking URLs
- Click “Create tracking URL” (upper right)
The builder generates the full UTM-tagged URL plus a shortened link. Paste the full URL into ad platforms; HubSpot’s own docs warn against using the short link in Google Ads.
Klaviyo: UTM Tracking
Where to find global UTM settings:
- Click your account name (bottom-left corner)
- Select “Settings”
- Navigate to Other → UTM Tracking
In this panel, you can:
- Toggle each standard UTM parameter on/off
- Choose between Klaviyo’s built-in value or a custom static/dynamic value for each parameter
- Set different defaults for campaigns vs. automated flows
- Add up to 5 custom UTM parameters beyond the standard five
To customize for a single campaign:
- Open the campaign in the editor
- Find the “Customize tracking parameters” toggle → turn it on
- Adjust parameters for this campaign only
- To disable UTM tracking entirely for one campaign: check “Do not use UTM tracking for this campaign”
Important: Global settings are defaults for new messages. Changing global settings does not retroactively update messages that already have customized message-level parameters.
Quirk (June 2025 change): Klaviyo changed its default utm_medium from "campaign" / "flow" to the actual message type (email, sms, push, whatsapp). UTM settings customized and saved before June 2, 2025 keep the old values: check yours.