Which channels, campaigns, links and places your conversions came from
Attribution answers “where did this lead (or order, or deal) come from?” for every conversion you send, and adds it all up by channel, campaign, GeoSwap short link and location. It's honest math: every conversion counts exactly once under every model, so the report always adds up to the conversions credited, and anything it couldn't tie to a visit sits on its own Unattributed line instead of being quietly spread around.
Attribution is part of the Business and Enterprise plans.
On every session's landing page (and any page that carries tags), the script notes where the visitor came from: UTM tags, ad click ids, the referrer, and the click id of a GeoSwap short link. Bots are left out. You don't add anything: if the script is on your site, visits are already being collected.
A lead, a sign-up, a purchase, a signed deal. Send them from the page with geoswap.track(), from Shopify checkout with the custom pixel, or from your CRM or server with the API. See Sending conversions.
Once an hour, conversions that are at least two hours old are matched to earlier visits and credit is split between them with each of the five models. Most conversions are credited within about three hours. Each one is checked again 6, 24 and 72 hours later, in case a late visit shows up.
Open Attribution in the dashboard sidebar: conversions by channel, source and medium, campaign and short link, by place, plus cost and ROAS once you add spend. See Reading the report.
A visit (a “touch”) is a person arriving on one of your sites. GeoSwap keeps:
utm_source, utm_medium, utm_campaign and friends.gclid, gbraid, wbraid, msclkid, fbclid, ttclid, li_fat_id, twclid and rdt_cid.gs_c) to the destination, and the script removes it from the address bar straight away. The click and the landing count as one visit, and the report can show the exact link.Visits are kept for 400 days. Two visits from the same channel less than 30 minutes apart count once, and a journey keeps at most 50 visits (the first one and the latest 49).
GeoSwap matches a conversion to earlier visits using whatever identifiers it carries:
gs_vid cookie the script sets). geoswap.track() and the Shopify pixel send it automatically.gs_c) and a per-recipient id (gs_r), for example from an email or mail piece.gs_r on per-recipient links.Send as many as you have. Email, phone and address are hashed the moment they arrive and are never stored raw. If a browser blocks cookies, GeoSwap can still tie same-day visits from that browser together.
Every conversion is credited with all five models at once, so changing your workspace's model in Attribution settings is instant and nothing is re-processed. Each model splits exactly one conversion (and exactly its value) across the visits.
| Model | How credit is split |
|---|---|
| Position (40/20/40) | The default. 40% to the first visit, 40% to the last, 20% shared by the ones in between (50/50 when there are only two). |
| First touch | All the credit to the first visit in the lookback window. |
| Last touch | All the credit to the last visit before the conversion. |
| Linear | An equal share to every visit. |
| Time decay (7-day half-life) | More credit the closer a visit is to the conversion: a visit 7 days earlier gets half the weight of one at the moment of conversion. |
Not sure which to use? Start with the default, then turn on Compare models on Channels to see how much each channel gains or loses compared with last touch.
Visits up to 180 days before a conversion get credit by default. Admins can set anything from 30 to 365 days in Attribution settings; past conversions are then re-credited with the new window.
Each visit lands in one channel. Rules are checked in this order and the first match wins (for example a gclid or utm_medium=cpc with a search source is Paid search; utm_medium=email is Email; a referrer from a search engine is Organic search):
Offline campaigns get credit through short links: label a link mail, print or postcard and its clicks count as Direct mail; podcast, ctv/tv/ott and radio work the same way. A QR code on a postcard is a short link too, so the scan shows up in the report.
Hook up your thank-you page, Shopify checkout or CRM.