Add the tracking parameters to your ads
The string to paste into the "URL parameters" field of your ads — without it, leads still arrive but with no campaign, audience or creative attached.
Updated on July 29, 2026
This is the step almost everyone skips without noticing, and you only find out later: leads arrive, but nobody knows which campaign, which audience and which creative brought them. You can see your overall ROI, but not the ROI per creative — so you cannot tell what to kill and what to scale.
It takes a minute: one string, pasted once per ad.
⚠️ If you exported the campaign from RoyLead (Advertising → Campaigns), the parameters are already there: the export applies them to every ad on its own. This guide is for ads you build by hand in Meta.
Copy the string
You'll find it on the Advertising page, in the box at the top, with a button to copy it. For Meta it is this:
utm_source=Meta&campaign_id={{campaign.id}}&utm_term={{adset.id}}&utm_content={{ad.id}}&utm_placement={{placement}}&utm_campaign={{campaign.name}}&utm_adset={{adset.name}}&utm_ads={{ad.name}}
Leave the curly braces alone: they are placeholders Meta replaces with that ad's real values at click time. There is nothing to type by hand.
Paste it into the ad
In Meta Ads Manager, open the ad (ad level — not campaign, not ad set), scroll down to the Tracking section and paste the string into the URL parameters field.
Then publish. From that moment every click carries where it came from.
💡 It goes into every ad. It is the same string for all of them — Meta fills in the values, not you — so keep it on your clipboard and paste as you duplicate ads.
Check that it lands
Click one of your own ads, land on the landing page and fill in the form. Then open Leads: open the lead you just created and check that campaign, ad set and creative show up in its detail.
If they are there, you are done: in Analytics, the Placement and Creative tabs fill up on their own.
What each parameter carries
| Parameter | What it carries | Where you see it |
|---|---|---|
utm_source | The platform (Meta, Google, TikTok) | Lead source |
campaign_id | The campaign id | Analytics → Campaigns |
utm_term | The ad set id | Analytics → Ad sets |
utm_content | The creative id | Analytics → Creatives |
utm_placement | Where the ad was seen (feed, reels, stories…) | Analytics → Placement |
utm_campaign, utm_adset, utm_ads | The readable names of campaign, ad set and ad | Labels in the tables |
The ids are what match the spend imported from your ad account; the names are for you, so you can read the rows without looking ids up.
📌 Other platforms use different macros (Google
{campaignid}, TikTok__CAMPAIGN_ID__): switch tab in the Advertising box and copy the right one. Only the Meta string is field-verified — for the others, double-check in your own ads manager that the macros are the ones the platform expects.
If the tabs stay empty
- Traffic arriving with no parameters: you published the ads before adding them. Leads that already came in cannot be recovered — those clicks never carried the information. From now on they will.
- Only some ads tracked: the field is per ad, and an ad duplicated before your edit stays without it. Check them one by one.
- Curly braces showing up in your data (a lead whose campaign is
{{campaign.id}}instead of a number): you pasted the string into a field that does not expand macros — typically the website URL instead of URL parameters. Move it to the right field.
Ready to put this into practice?
Create your RoyLead account and start in minutes.