Multi-touch marketing attribution, solved
Every lead arrives in your client's CRM with its whole journey attached — the ad that created it, the search that closed it, and every paid touch in between. Proof of what your campaigns actually did, on the contact record.
Attribution your clients can actually see
Every session is a recorded touchpoint, and the whole path rides with the lead: “Paid Social/Facebook > Organic Search/Google > Direct.” Multi-touch attribution you can read in the CRM.
Touchpoint counts across channels — and paid individually. The last paid touch, how long before conversion it happened, and how many ad touches the journey took.
Consistent reporting by default: paid search reads Google Ads, Meta's fb/ig arrive as Facebook and Instagram — one platform, one spelling, across paid and organic. Or flip the per-client verbatim toggle.
Captures _fbc, _fbp, and every click ID — the match keys Meta Conversions API and Google offline import want — ready to pass into server-side tracking.
Webflow, Wix, Squarespace, Elementor (popups included), Gravity Forms, GoHighLevel, Framer, plain HTML — even forms injected after page load. If it renders on the page, it fills.
Values land in hidden fields under names you choose, plus the dataLayer — HubSpot, Salesforce, GoHighLevel, or a spreadsheet. No integration to wait on.
The whole journey, stitched together
The tag freezes the first touch — channel, source, campaign, keyword, creative, click ID, landing page — the moment they arrive.
Every return visit is its own recorded touchpoint. An organic search three days later doesn't overwrite the ad — it joins the journey.
Hidden fields fill automatically — including forms inside popups, multi-step flows, and content injected after page load.
The lead lands with the full journey attached: what created it, what closed it, and every paid touch along the way.
Prove your ads touched the journey — even when they didn't close it
Most leads don't convert on the ad click. They click, think, come back through search or type the URL straight in — days later — and convert “Direct.” Last-click reporting hands your work to another channel, and the client asks what they're paying you for.
MTK keeps a sticky record of every paid touch in the journey. A lead that converts direct, two days after your Facebook ad, arrives saying exactly that — and even a touch outside the platform's attribution window is still in your data, still yours to claim.
The most recent paid touchpoint — channel, source, campaign — no matter how long the journey ran. Empty only when no ad was ever involved, which makes “ad-influenced leads” a one-filter report.
“2d 6h” from ad click to conversion. Line it up against the platform's attribution window to show value the platform stopped counting.
How many ad touches it took to convert — the real answer to the frequency debate, per lead, in the CRM.
One tag, the whole picture
Forty-three values ride along with every lead — first and last touch as separate field sets, so nothing ever overwrites the origin story.
Full plain-language reference: what MTK Attribution captures · exactly how it categorizes
Built for the sites clients actually have
Real sites have content blockers, popup forms, consent banners that eat click IDs, and referrers that lie. MTK is engineered for all of it — and when it can't run at all, nothing breaks.
Attribution is worked out in the browser and written into the site’s own form. There is no third-party analytics call for a blocker to intercept — so when a pixel’s conversion event is blocked, the lead still arrives with its full journey.
Served from Cloudflare’s edge. If the tag can’t load, the form still submits exactly as it did before — it can never stand between a visitor and a lead.
Consent redirects and URL rewrites strip click IDs in transit. MTK detects the platform's own fresh cookie, restores the classification and the click ID — and never mistakes a returning visitor for a new ad click.
Referrers are matched on exact hostnames — microsoft.com is not “Twitter,” your own site is not a “referral,” and a lost query string doesn't become “Direct.”
Datetimes render in the account's GA4 / ad-platform timezone, in any format the CRM wants — plus purpose-built payloads for Meta CAPI event_time and Google Ads offline import.
Every classification rule — every utm_medium value, every referrer domain, every click ID — is published in the docs. When a client asks why a lead says what it says, you have the exact answer.
MTK sets no third-party cookies and does no cross-site tracking — it reads first-party cookies the site's own ad tags already set. Disclosing attribution tracking and collecting the visitor consent your region requires stays the site operator's responsibility; see our privacy policy and terms.
Paste one Custom HTML tag with the client's license key. No build step, no npm, no site rebuild.
One tag per client site, one license key each. Add a client in the dashboard, paste the GTM tag, done.
Field maps, source formatting, timezone, session rules — all managed per license in the dashboard. Change them any time; the served tag updates itself.
Step-by-step installs for Webflow, Wix, Squarespace, Elementor (popups included), Gravity Forms, GoHighLevel, Framer, and plain HTML.