Attribution & UTM tracking
MarketingAttribution is how Preb remembers where a lead came from. When someone lands on your booking page, Preb reads the campaign tags and ad click IDs in the link, remembers them, and attaches them to the booking — so when that lead later books a call or buys, you (and Meta and Google) can credit the campaign that started it all.
UTM parameters
UTM parameters are the little tags you add to a link to label a campaign. They
ride along in the URL after a ?, like this:
https://app.preb.co/acme/intro?utm_source=facebook&utm_medium=cpc&utm_campaign=spring-launch
Preb reads and stores five standard UTM tags:
| Tag | What it usually holds |
|---|---|
utm_source | Where the traffic came from — facebook, google, newsletter |
utm_medium | The type of traffic — cpc, email, social |
utm_campaign | The campaign name — spring-launch |
utm_content | Which ad or link variant — video-a, headline-b |
utm_term | The keyword (for search ads) |
You don't configure anything in Preb for this — just add the tags to the links in your ads, emails, and posts. Whatever you put in them flows straight through to the booking and into your reports.
Keep your tags consistent
Pick one spelling and stick to it. facebook, Facebook, and fb are three
different sources as far as reporting is concerned. A simple naming convention
keeps your campaign breakdowns clean.
Click IDs (fbclid, gclid, …)
Click IDs are unique codes the ad platforms add to a link automatically when someone clicks an ad. They're how a platform recognises its own click later on. Preb captures four:
fbclid— Meta (Facebook & Instagram)gclid— Google Adsttclid— TikTokli_fat_id— LinkedIn
You don't need to add these yourself — the platforms append them for you. Preb captures all four and stores them on the booking. Today, conversions are reported back only to Meta and Google (see Meta Pixel & Conversions API and Google Ads). The TikTok and LinkedIn IDs are kept on the booking for your records, but Preb does not send conversions back to TikTok or LinkedIn yet.
The click ID has to reach the booking form
Click IDs only work if they make it all the way to your booking page. That's automatic when you embed the Preb widget (inline or popup snippet — not the plain iframe) or point your ad straight at your booking link. If you instead run ads to your own landing page and open the booking page from a button there, grab the short forwarding snippet from your event's Embed tab ("Make sure ad conversions get tracked") and paste it on that landing page so the click ID carries over.
First-touch attribution
Preb uses first-touch attribution: the first campaign that brought a visitor in gets the credit, even if they come back later through a different route.
So if someone clicks your Facebook ad on Monday, leaves, then returns on Thursday by typing your address directly and books — the booking is still credited to that Facebook ad. The first touch is what counts, because it's the campaign that actually introduced them to you.
If a visitor arrives with no campaign tags or click IDs at all, nothing is stored, and a later tagged visit becomes their first touch instead.
One exception: a Meta or Google click always counts
Preb reports conversions back to Meta and Google only. If the remembered first
touch has no fbclid / gclid (say, a TikTok click or a plain UTM link) and
the visitor later arrives through a Meta or Google ad, that click takes over as
the first touch — otherwise the platform that actually drove the booking could
never be told about it.
Preb also remembers when the click happened. When a sale closes weeks later, Meta receives the original click time with the event, not the sale time — so the conversion still falls inside Meta's attribution window.
The 30-day window
Preb remembers a visitor's first touch for 30 days, stored privately in their own browser. Within that window, the original campaign keeps the credit no matter how many times they come back.
After 30 days the memory expires. If they return after that and arrive through a campaign link, that new visit becomes a fresh first touch.
The browser memory requires consent
Storing campaign data in a visitor's browser counts as tracking under EU privacy law, so the 30-day memory is only written for visitors who accepted marketing tracking in the consent banner. For everyone else, attribution still works within the visit — a lead who arrives through a tagged link and books in the same session is credited normally — it just doesn't carry across separate visits.
Per workspace, per browser
The 30-day memory lives in the visitor's browser and is kept separate for each workspace, so attribution never leaks between businesses. It also means attribution can't follow someone across different devices — a click on their phone and a booking on their laptop are two separate visits.
Passing attribution to your thank-you page
If your event type redirects to your own page after a booking and Pass
booking data to the destination page is on, Preb appends the booking's
attribution to that URL alongside the preb_* booking fields — the click IDs
and UTM tags exactly as the platforms name them (gclid, fbclid,
utm_source, …), so your own Google Ads, Meta or GA4 tags on the thank-you
page read them natively — plus preb_marketing_consent=true|false so you can
honour the visitor's choice. A parameter your URL already carries is never
overwritten.
Organic & direct
Not every visit comes from a campaign, and that's fine. When someone arrives with no UTM tags and no click ID — they typed your address, clicked a link in an email signature, or found you through an unlinked post — Preb simply records no campaign attribution for that booking.
These show up as organic or direct in your reporting. They're real bookings; they just aren't tied to a specific paid campaign, so the ad platforms won't claim credit for them.