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.
Google Ads
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).