| utm_source | quora |
| utm_medium | cpc |
| utm_campaign | {{campaign.name}} |
| utm_id | {{campaign.id}} |
| utm_term | {{ad.name}} |
| utm_content | {{adset.name}} |
Quora is the largest dedicated question-and-answer platform on the internet, and Quora Ads is the self-serve buying interface that lets you place sponsored content against specific questions, topic feeds, audience segments, or broad inventory. It’s a smaller advertising market than Meta or Reddit by spend, but the targeting model is structurally different in a way that makes it disproportionately useful for one specific job: showing up at the moment a buyer is explicitly researching a category.
The macro syntax matches Meta’s exactly — lowercase double curly braces with dot notation ({{campaign.id}}, {{adset.name}}). A Meta UTM template can be pasted into Quora’s URL parameters field without translating any tokens; you only adjust the source string and the field’s location in the UI. Reddit’s UPPERCASE underscore style ({{CAMPAIGN_ID}}) is the outlier — Reddit templates do not transfer.
This page covers the macro catalog, where the URL parameters field lives, the Quora Pixel and its trade-offs, when Quora actually makes sense as a channel, and the small list of common ways the setup goes wrong.
The recommended UTM template
| Parameter | Value | Why |
|---|---|---|
utm_source | quora | The conventional source string. Note: not in GA4’s default Paid Social rule — see the channel-grouping note below. |
utm_medium | cpc | Matches GA4’s paid-channel regex. |
utm_campaign | {{campaign.name}} | Human-readable campaign name in reports. Switch to {{campaign.id}} if your team renames frequently. |
utm_id | {{campaign.id}} | Always the numeric ID — rename-safe and powers GA4 cost-data joins. |
utm_term | {{ad.name}} | Creative-level dimension. |
utm_content | {{adset.name}} | Audience differentiation. |
This is the template the mini builder hands users when they pick “Quora Ads.” Standards-only — no custom params — and it survives across every downstream tool that reads utm_*.
Dynamic macros
Quora’s macro list is small — six tokens covering campaign, ad set, and ad, each with an .id and .name variant. A few practical points:
- Lowercase only.
{{Campaign.ID}}outputs literally as{{Campaign.ID}}. Only{{campaign.id}}substitutes. - IDs vs names — same trade-off as everywhere.
{{campaign.name}}returns the current name, breaks on rename.{{campaign.id}}is rename-safe forever. Use the ID forutm_idalways. - No conditional macros. No equivalent of Google Ads’
{ifsearch:}/{ifmobile:}. Splitting by placement or device means splitting the ad. - No placement macro on the public list. Other platforms expose a placement token — Quora doesn’t, at least at this writing. If you need to know whether an impression came from a question feed, a topic feed, or the digest email, you split campaigns rather than templating.
Where to put the URL parameters
Quora’s URL parameters field lives at the ad level, in the ad’s tracking section. There’s no campaign-level or ad-set-level template that cascades down. Same shape as Meta and Reddit.
The full template goes into the field, without a leading ?:
utm_source=quora&utm_medium=cpc&utm_campaign={{campaign.name}}&utm_id={{campaign.id}}&utm_term={{ad.name}}&utm_content={{adset.name}}
Quora appends this to the destination URL, joining with ? or & as appropriate based on whether the destination already has a query string.
qclid: the click identifier
qclid is Quora’s per-click ID — the equivalent of Google’s gclid and Meta’s fbclid. Quora auto-tags it, meaning the platform appends qclid=… to every outbound ad URL automatically; you don’t add it to your URL parameters template, and you shouldn’t.
The Pixel reads qclid from the URL on landing, persists it into a first-party cookie, and includes the cookie value on every subsequent Pixel event. Conversion attribution joins through this identifier.
The same risks apply that hit GCLID and fbclid: link shorteners, AMP cache, marketing-automation wrappers, and aggressive consent-mode scripts can all strip qclid before it reaches your domain. Defensive UTMs in your URL parameters template are the fallback — when qclid doesn’t survive, the manual UTMs still let GA4 and your CRM attribute the session correctly.
The Quora Pixel
Quora’s measurement runs through the Quora Pixel — a JavaScript tag on your site that fires standard events (Generic, ViewContent, Search, AddToCart, Lead, Purchase, etc.) plus custom ones, reads qclid and first-party cookies set on landing, and ships events to Quora’s collection endpoint for attribution.
The trade-off relative to Meta or Reddit: no public Conversions API equivalent at this writing. Quora’s measurement is Pixel-only, which means ITP and ad-blocker exposure runs higher than on platforms with a server-side fallback. For consideration-stage B2B campaigns where conversions happen days or weeks after the click, the cookie-lifetime story matters — Safari ITP caps client-set cookies at 7 days for cross-site contexts.
Practical mitigations:
- Run the Pixel as a first-party tag (not as a third-party iframe) so cookie lifetime gets the full ITP allowance rather than the 24-hour cap that hits truly third-party cookies.
- Lean on UTMs as a fallback identifier — they survive in your CRM and analytics regardless of whether Quora’s Pixel cookie expired before the conversion.
- Don’t chase exact match between Quora’s reported conversions and your CRM. They will diverge, especially for long consideration windows. Treat Quora’s numbers as a relative signal across campaigns rather than an absolute count.
When Quora actually makes sense
Quora is a sharp tool, not a general-purpose paid-social channel. It rewards advertisers whose product is something a prospect would research before buying — software, B2B services, financial products, education, professional services. The targeting that sets Quora apart is question-level: you can place an ad on a specific question like “What’s the best CRM for solo founders?” and capture the user during the research moment, not after.
Categories that historically work well on Quora:
- B2B SaaS with measurable trial-to-paid economics — the audience overlaps LinkedIn’s reach but the auction is less crowded.
- Financial services for products with a research-driven decision (mortgage, investment platforms, business banking).
- Education — degree programs, certifications, online courses.
- Professional services with B2B buyers (legal, accounting, consulting).
Categories that historically struggle:
- Pure B2C ecommerce with low consideration — the platform isn’t a great browse-and-buy environment.
- Local services — Quora’s targeting isn’t as geo-granular as the major platforms.
- High-frequency creative refresh — the ad-creation flow isn’t optimised for daily creative iteration.
For the receiver-side picture — how GA4 classifies utm_source=quora, what to do about default channel grouping — see Google Analytics .
Limitations and gotchas
quoraisn’t in GA4’s default Paid Social rule. Sessions classify as Paid Other unless you build a custom channel group. Worth doing if you run meaningful Quora spend.- No public Conversions API at this writing. Pixel-only attribution carries more ITP/ad-blocker exposure than Meta (CAPI) or Reddit (Conversions API). Build UTM-based fallbacks into your CRM for any conversion that takes more than 7 days.
- Macro syntax matches Meta exactly — lowercase double-brace with dot notation. Reddit’s UPPERCASE-underscore style is the outlier among paid-social platforms.
- No campaign-level URL template. Set per ad. Bulk-edit during creation; otherwise update one at a time.
- No URL preview tool. Click your own live ad to verify substitution.
Verification
Three steps, in order:
- Click your own ad in incognito. No preview tool — clicking the live ad and inspecting the landing-page URL is the only deterministic check.
- Confirm UTMs landed with substituted values, not literal macros. A typo in macro syntax (
{{Campaign_ID}}) outputs literally and you only find out post-launch. - Verify in the Quora Pixel diagnostics. Quora’s pixel-test tool fires a sample event and confirms the cookie chain is set up correctly. Worth doing at the start of any new campaign.
Common problems
- My UTMs come out as literal
{{campaign.id}}in URLs. Tokens were pasted in the wrong case (uppercase or mixed case). Quora is case-sensitive — lowercase only. - My Quora campaign shows as
(direct)/(none)in GA4.qclidwas stripped between click and landing, AND no UTMs were set as a fallback. The fix is the same as for GCLID/fbclid stripping: add the manual UTM template to the URL parameters field so attribution survives even when the click identifier doesn’t. - My Quora campaign shows as Paid Other in GA4 instead of Paid Social. Default behaviour —
quoraisn’t in GA4’s hardcoded source list. Build a custom channel group rule if you want it grouped with Meta and Reddit. - My Quora conversions look way under what the platform reports. Expected. Pixel-only attribution loses 25–40% of clicks to ITP and ad-blockers, with no Conversions API to fall back on. Use UTM-based CRM joins for the long-consideration conversions Quora measures most accurately.
- Long lookback windows aren’t matching. Safari ITP caps client-set cookies at 7 days. Conversions that take longer than that lose the Pixel-side join. UTMs persist in your CRM regardless.
- My UTM template uses campaign names and they keep breaking on rename. Switch
utm_campaignto{{campaign.id}}. The numeric ID is rename-safe.
| Token | Description | Substituted at |
|---|---|---|
| {{campaign.id}} | Numeric campaign ID. Stable across renames — recommended as utm_id. | Click time |
| {{campaign.name}} | Campaign name. | Click time |
| {{adset.id}} | Numeric ad set ID. | Click time |
| {{adset.name}} | Ad set name. | Click time |
| {{ad.id}} | Numeric ad ID. | Click time |
| {{ad.name}} | Ad name. | Click time |
| qclid | Quora Click Identifier — auto-appended by Quora to outbound ad URLs. Don't add manually. Powers the Quora Pixel's click-to-conversion join. | Click time |
