Tagging your ads
UTM tags on your ad links tell Pixelary which campaign a visitor came from. Paste one line into each ad, and the event log and the Overview show conversions by source and campaign.
Meta
In Ads Manager open the ad, find Tracking → URL parameters and paste this line. Meta fills in the names when someone clicks.
utm_source=facebook&utm_medium=paid&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}} - A name stays as it was when the ad was first published, even if you rename the campaign later. A new name needs a new campaign, ad set or ad.
- For one row per platform instead of one for all of Meta, use
utm_source={{site_source_name}}: Meta sendsfb,ig,an,msgorth. - Meta does not support dynamic parameters for collection ads on Instagram.
TikTok
In TikTok Ads Manager add this line to the ad’s URL parameters, in the URL builder or after a ? on the destination URL.
utm_source=tiktok&utm_medium=paid&utm_campaign=__CAMPAIGN_NAME__&utm_content=__CID_NAME__&utm_term=__AID_NAME__ __CID_NAME__is the creative and__AID_NAME__the ad group. Write the macros in capitals, exactly as here.- In upgraded Smart+ campaigns use
__ADID_V2_NAME__for the ad name instead of__CID_NAME__.
TikTok: UTM parameters and macros
Other ads and links
Any link works the same way: add utm_source and utm_campaign at least, and
utm_medium, utm_content and utm_term if you use them. Test a link by opening it and
finding the event in Live events.
What Pixelary shows
| Where | What |
|---|---|
| Live events | Source and campaign on each event, the full tags in its details, a campaign filter and the columns in the CSV export. |
| Overview | Conversions by campaign on paid plans: source, campaign, conversions delivered server-side and value per currency. PageView and ViewContent are not conversions here. |
Names are grouped without regard to case, so Spring Sale and spring sale are one campaign. The
card lists the top 20 and adds up the rest as Other. Each day keeps up to 100 separate rows, so new names after that count
as Other for that day.
Last touch, and why it differs from Ads Manager
A conversion belongs to the last tagged link or ad click the visitor came from. A later visit without tags doesn’t change it. This is a simple report, not an attribution model:
- Ads Manager has its own attribution windows and counts views as well as clicks. Your numbers will differ, and that doesn’t mean either one is wrong.
- Pixelary counts only what its tags saw, so an ad without UTM tags or a click ID shows up as no tags.
- Meta can add
fbclidto links in ordinary posts too, so a click ID alone doesn’t prove a paid click. - Any tagged link counts, including a newsletter’s, not only paid ads.
Consent and privacy
- The tags are read from the address of the page. With
ad_storagegranted, the script keeps them in the visitor’s browser for up to 30 days, aspixelary_touchin local storage. - Without
ad_storagethey stay in memory for that page only. If the visitor accepts later on the same page, the events waiting for that answer still carry them. - Pixelary records which click ID was there, never its value. The tags go to the event log only, not to Meta, TikTok or OpenAI.
- Values are cut to 100 characters, and anything that looks like an email or an international phone number is removed. Don’t put personal data in your tags anyway.
Something here doesn’t match what you see? Write to hello@pixelary.app.