Docs

UTM templates

3x can match sessions by names, URL tags and manual rules – but the most reliable match is a UTM value that is the platform's id. These templates use each platform's dynamic macros. Add them once and every new campaign is matched exactly (match method utm_id). The dashboard (Ads → UTM templates), GET /v1/projects/{project}/ads/utm-templates and the MCP tool ads_utm_templates return the same strings.

Where: Admin → Account settings → Tracking → Final URL suffix (or per campaign).

utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={adgroupid}&utm_term={keyword}&utm_id={campaignid}&x3_ad={creative}

Keep auto-tagging on; the gclid adds click-level matches on top.

Meta Ads

Where: Ad → Tracking → URL parameters.

utm_source=meta&utm_medium=paid&utm_campaign={{campaign.id}}&utm_content={{ad.id}}&utm_term={{adset.id}}&x3_place={{placement}}

LinkedIn Ads

Where: Campaign → URL tracking parameters (dynamic UTMs).

utm_source=linkedin&utm_medium=paid&utm_campaign={{CAMPAIGN_ID}}&utm_content={{CREATIVE_ID}}&utm_id={{CAMPAIGN_GROUP_ID}}

TikTok Ads

Where: Ad → Destination → URL parameters.

utm_source=tiktok&utm_medium=paid&utm_campaign=__CAMPAIGN_ID__&utm_content=__AID__&utm_term=__CID__

Keeping readable names

Ids are unreadable in reports – 3x replaces them with the current campaign, ad set and ad names from the imported entities, so dashboards still show names. If your team prefers names in the URL, keep them: 3x then matches by URL tags or by name (see Matching), which works as long as names are unique per platform and account.

Channels

utm_source=google with a paid medium (cpc, ppc, paid, …) is classified as google_ads (without one: google_organic); meta/facebook/instagram, linkedin and tiktok map to the meta, linkedin and tiktok channels, and click ids win over UTMs. The templates therefore also keep the channel report clean (Attribution and channels).