Reddit ad links need utm_source=reddit and utm_medium=paid_social, plus a readable utm_campaign name you type yourself. Paid Social is where GA4 files the result, since reddit is on Google's list of social sites. Two Reddit details are worth knowing first: its macros are documented for third-party tracker URLs, not your destination URL, and they're case-sensitive.
The interactive UTM builder loads with this page, pre-filled for Reddit ads, and runs entirely in your browser.
GA4 checks reddit against Google's social site list and paid_social against its paid medium pattern; both match, so the click is Paid Social.
Where to put it
Add your UTMs to the ad's destination URL as fixed values: utm_source=reddit, utm_medium=paid_social and a campaign name you type yourself.
If a measurement partner tracks your clicks or impressions, add its tracker URL when you create the ad, and put Reddit's macros into that tag as key={{MACRO}} pairs joined with &.
Copy macros exactly as Reddit lists them. They are case-sensitive.
If your Reddit clicks go through Campaign Manager 360, add &rdt_cid=%prdt_cid=!; to the CM360 landing page URL suffix. That's Reddit's click ID persistence step, and it's done in CM360.
Macros filled in at click time
Macro
Resolves to
{{CAMPAIGN_ID}}
Campaign ID
{{ADGROUP_ID}}
Ad group ID
{{ADGROUP_NAME}}
Ad group name
{{AD_ID}}
Ad ID
{{AD_NAME}}
Ad name
{{ADVERTISER_ID}}
Reddit account advertiser ID
{{ADVERTISING_ID}}
iOS IDFA or Android GAID
{{CACHEBUSTER}}
UTC Unix timestamp
{{COUNTRY}}
User location
{{OS_GROUP}}
Operating system
{{DEVICE_GROUP}}
Device type
{{PLATFORM_GROUP}}
Platform type
{{CREATIVE_H}} / {{CREATIVE_W}}
Native ad post height / width
{{DEVICE_OPT_OUT}}
Whether the user opted out of passing their advertising ID
On Reddit, your UTMs and Reddit's macros go in different places.
UTMs go on the destination URL as fixed values. For GA4, Reddit's instruction is to add utm_source = Reddit to your advertising URL. Its macros are documented for something else: the third-party click and impression tracker URLs you add when you create an ad, where the macros go into your measurement partner's tag. Reddit doesn't document macros resolving in the destination URL, so type your utm_ values there in full. If Reddit's click counts and your analytics disagree, why click counts differ between tools walks through the usual reasons.
Click ID persistence is a CM360 step. Reddit describes it only for clicks sent through Campaign Manager 360: in CM360, change the landing page URL suffix to include &rdt_cid=%prdt_cid=!;. If you don't use CM360, this step doesn't apply to you.
Macros are case-sensitive, and capitalised. Reddit's macros are written in capitals inside double curly braces: {{CAMPAIGN_ID}}, {{AD_ID}}. If your habits come from Meta, where the same idea is written {{campaign.id}} in lowercase with a dot, that spelling won't match here. Copy from the table, not from memory.
There's no campaign name macro. The documented set covers campaign, ad group and ad IDs, ad group and ad names, the advertiser ID, and groupings for country, operating system, device and platform. Reddit has ad group and ad name macros but no campaign name macro, so type the campaign name yourself.
Keep {{CACHEBUSTER}} out of your UTMs. It returns a UTC Unix timestamp, which is different on every click. If it resolved in a utm_ field, every visit would get its own value and one campaign would split into as many rows as it has visits.
Before you launch, click a test ad and paste the landing URL into the link decoder to confirm each macro resolved to a value rather than arriving as literal text.
Questions
How do I add UTM parameters to Reddit ads?
Add utm_source=reddit, utm_medium=paid_social and a readable campaign name to the ad's destination URL as fixed values. Reddit's macros are documented for third-party tracker URLs, where they go in as key={{MACRO}} pairs joined with &, typed exactly as listed because they're case-sensitive.
Are Reddit ad macros case-sensitive?
Yes. Reddit's macros are case-sensitive and written in capitals, such as {{CAMPAIGN_ID}} and {{AD_ID}}.
What is click ID persistence on Reddit?
A way to pass Reddit's click ID, rdt_cid, to your site when your Reddit clicks go through Campaign Manager 360. Reddit describes it as a CM360 step: add &rdt_cid=%prdt_cid=!; to the landing page URL suffix in CM360.