Installing Sourcream
Sourcream records where every lead came from and delivers it into your CRM. Source to CRM. These guides cover the install for each platform and each destination.
Start here
In Sourcream, open Sites, add your site (one primary domain; its subdomains are included, see what counts towards your plan) and open its Install tab.
Put the script tag from the Install tab in the
<head>of every page:<script src="https://cdn.sourcream.ai/t/YOUR_SITE_KEY.js" async></script>Submit a form on your live site with
?utm_source=test&utm_medium=test&utm_campaign=installon the URL, then check Leads. The Install tab also shows a live status once the script has been seen.Connect a CRM under Integrations, or send leads anywhere with a signed webhook.
Guides
| Where your site or form lives | Guide |
|---|---|
| Any HTML site, custom builds, single page apps | Custom HTML sites |
| Webflow | Webflow |
| WordPress (snippet or plugin) | WordPress |
| Squarespace | Squarespace |
| Typeform and Gravity Forms | Typeform and Gravity Forms |
| Serving the script from your own domain | First-party proxy |
| Consent banners and Google Consent Mode | Consent |
| Where the data goes | Guide |
|---|---|
| HubSpot | HubSpot |
| Salesforce | Salesforce |
| Pipedrive | Pipedrive |
| Zapier, Monday.com and any webhook | Zapier, Monday.com and webhooks |
| GA4 through Google Tag Manager | GA4 through Google Tag Manager |
How a lead gets its source
The script runs on every page view and classifies the visit. The first match wins:
utm_source: source isutm_source, medium isutm_medium(or(none)), campaign isutm_campaign(or(none)). Term, content andutm_idare kept too.gclid,gbraidorwbraid: google / cpc / theutm_campaignorgoogle_ads.dclid: google / display /google_display.msclkid: bing / cpc / theutm_campaignorbing_ads.fbclid: facebook / cpc / theutm_campaignorfacebook_ads. The medium is a site setting (cpc, paid_social or social), because Meta adds fbclid to organic link clicks too.Other ad click ids:
ttclid(tiktok),li_fat_id(linkedin),twclid(twitter),epik(pinterest),ScCid(snapchat), each cpc.Rules 2 to 5 use the link's
utm_campaignas the campaign when it has one, so?fbclid=...&utm_campaign=retargetis facebook / cpc / retarget. Otherutm_*values with noutm_sourceand no click id give source(not set).No referrer, a referrer on your own domains, or a payment or sign in page (Stripe, PayPal, Google and Microsoft sign in and similar):
(direct)/(none).Any other referrer: AI assistants get medium
ai(ChatGPT, Perplexity, Claude, Gemini, Copilot and others), webmail getsemail, social platforms getsocial, messaging apps getmessaging, search engines getorganicwith the engine name as source (google, bing, duckduckgo), and everything else isreferralwith the host as source.
Click ids are captured on every visit whichever rule classified it. When the URL has no gclid or fbclid, Sourcream reads them from the _gcl_aw and _fbc cookies set by Google and Meta tags.
First touch is written once and never changed. Last touch is the latest visit that was not direct: a direct return visit never overwrites it. Both last 180 days. A new session starts after 30 minutes without activity.
On plans with AI source enrichment (Business and above), Sourcream also tidies broken UTMs (Facebook, fb and facebook-ads all become facebook) and categorises referrers it has not seen before. Only the referring host name is analysed, never page addresses or personal information.
Field names
Every form gets these values (the core set, on every plan):
| Field | Example |
|---|---|
first_source |
|
first_medium |
cpc |
first_campaign |
spring_sale |
last_source |
|
last_medium |
social |
last_campaign |
(none) |
sc_visitor_id |
v_k3j9x0a1b2c3d4e5f6g7 |
Business, Pro and Agency plans can switch a site to the extended set, which adds: first_term, first_content, first_channel, first_landing_page, first_referrer, first_timestamp, last_term, last_content, last_channel, last_landing_page, last_referrer, last_timestamp, gclid, gbraid, wbraid, msclkid, fbclid, ttclid, li_fat_id and touch_count. Timestamps are ISO 8601 in UTC. Channels (for example Paid Search, Organic Social, AI Assistants) are worked out on our servers, so they are always complete in CRM deliveries and webhooks but can be blank in hidden form fields.
You can rename any field per site under Sites, Settings, Field names (letters, digits, _, -, [, ] and ., up to 64 characters), for example to match a CRM's own field ids.
What counts towards your plan
One tracked event is one lead: a form submission Sourcream captured. Page views and visits are never counted. When you reach 80% and 100% of your monthly allowance we email the account owners. Tracking never stops mid month.
Your plan also sets a number of domains, shared by an agency account and all its client accounts:
- Each site uses one domain, its primary domain. Two sites on subdomains of the same domain (
shop.acme.comandblog.acme.com) use two. - A site's Own domains are free when they are subdomains of its domain (
book.acme.com.auon anacme.com.ausite) or hosts on a shared platform (acme.webflow.io,acme.squarespace.com,acme.pages.dev,acme.netlify.app,acme.vercel.appand similar staging and builder addresses). - Any other domain among a site's own domains, with its subdomains, uses one more domain:
acme.comon anacme.com.ausite, or a separate landing page domain. It counts once however many sites list it, and not at all when one of your sites already has it (or a subdomain of it) as its primary domain.
A new site past the limit is refused, and so is saving own domains that take the account past it (the message names the domains that count). Saving a site that does not add domains always works, so after a downgrade you can still edit sites and remove domains.
Honest limits
- First-party mode reduces blocking. It is not unblockable, and no tracker is.
- Your site key is public, so anyone can fill your site's hourly caps on new visitors and lead beacons, whatever proxy you use. Until the next UTC hour your site's new visitors and lead beacons then get 429. Leads sent to the webhook intake have a cap of their own and keep arriving, which makes the intake the robust way to capture leads (hourly caps).
- Sourcream uses first-party cookies only, never third-party cookies. Remembering a first visit for 180 days needs something stored in the browser, so "no cookies" is not possible for multi visit attribution.
- Dark social (WhatsApp, Slack and Telegram desktop apps), desktop email clients and redirects that drop the query string all arrive without a referrer, so they look direct. Tag links you share with UTMs.
- Google organic never passes the search keyword. Paid search without
gclidor UTMs looks like organic. - When a site captures email addresses on submit (the default), Sourcream processes personal information under the Australian Privacy Principles until it is redacted after your retention period. Matching CRM records by visitor ID instead avoids sending any.
Questions: [email protected]