Sign in
← Resources
August 6, 2026

What problems does MTK Attribution actually solve?

Attribution tools demo beautifully on a clean landing page with a simple form. Client sites aren't that. They have popup forms, consent banners, redirect chains, and visitors who take a week and four visits to decide. Here are seven ways attribution breaks in the real world — every one of them found on actual client sites — and how MTK Attribution solves each.

1. Your ads did the work — another channel took the credit

This is the big one, so it goes first. Most leads don't convert on the ad click. A homeowner taps your client's Facebook ad, reads the page, and leaves. Two days later they remember the company, type the URL straight in, and submit the form. Last-click reporting calls that lead Direct. Google Analytics calls it Direct. The client looks at the report, sees ad spend on one line and “Direct” leads on another, and asks what they're paying you for.

MTK Attribution records every session as its own touchpoint and keeps a sticky record of the most recent paid touch — one that survives no matter how long the journey gets. That lead arrives in the CRM saying: mtk_last_channel: Direct, mtk_last_paid_touch: Paid Social/Facebook, mtk_time_since_last_paid_touch: 2d 6h. The direct visit is reported honestly — and the ad's role is on the record, in a field the client can pivot on.

It gets better outside the platforms' attribution windows. Suppose the visitor converts eightdays after the click and the platform's window is seven: the ad platform reports zero conversions, and by its numbers your campaign failed. mtk_time_since_last_paid_touch: 8d 2h shows the touch was one day outside the window — influence the platform stopped counting, but your agency can still claim, with data. Add mtk_paid_touch_count — how many ad touches the journey had — and you can finally answer the frequency debate per lead instead of per platform average.

For agencies, this is the difference between defending your retainer with platform screenshots and defending it with your client's own CRM data. Filter the CRM to “mtk_last_paid_touch is not empty” and you have the list of every ad-influenced lead — including all the ones every last-click report gave away.

2. The popup form that captured nothing

Popup builders — Elementor Pro popups, Popup Maker, lightbox forms — inject their markup into the page when the popup opens, long after most attribution scripts have finished filling hidden fields. The visitor submits, and the lead arrives blank. MTK watches the page and fills form fields the moment new content appears: popups, multi-step funnels, SPA content swaps. No extra setup — the popup form works like any other form.

3. Click IDs eaten in transit

A visitor clicks a Google ad. Between the click and your tag running, a consent banner redirects to a clean URL — and the gclidis gone. To most tools that visit is now Direct, and the offline-conversion upload has nothing to match on. MTK notices the platform's own cookie (_gcl_aw for Google, _fbc for Meta) was created seconds ago, restores the classification and recovers the click ID out of the cookie. Crucially, only a fresh cookie counts: those cookies live ~90 days, and a stale one just means “returning visitor” — so a Direct return visit is never dressed up as an ad click. Honest data in both directions.

4. The phantom Twitter traffic

We found this one the hard way: leads attributed to Twitter/X from visitors who hadn't opened Twitter in years. The culprit is how most tools match referrers — substring searches, where t.co matches microsoft.com and chatgpt.com, and x.com matches wix.com and fedex.com. MTK matches referrers on exact hostnames with proper domain boundaries — so x.com is Twitter and wix.com is just wix.com. Every domain rule is published in the docs, so you never have to guess why a lead was classified the way it was.

5. Your own website is not a referral

A visitor reads a blog post, goes idle over lunch, and clicks through to the contact page an hour later. That click starts a new analytics session — whose referrer is the client's own blog. Tools that trust it record a touchpoint of “Referral: yourclientsite.com,” quietly polluting last-touch data with self-referrals. MTK ignores internal referrers for classification entirely — navigation isn't attribution.

6. Five spellings of the same platform

One report, five sources: google, Google, googleads, plus Meta's fb and ig from {{site_source_name}}. Every spelling becomes its own row in every pivot table, and someone gets to clean it up by hand, monthly. MTK normalizes source values to one canonical name per platform — and paid search always reads Google Ads, never confusable with organic Google in a source column. Agencies that want the raw values instead flip a per-client verbatim toggle; either way, the choice is deliberate and consistent.

7. The CRM shows the wrong time

Conversion timestamps rendered on the visitor's clock mean a 9:14 PM Eastern lead and a 6:14 PM Pacific lead, submitted the same instant, sort differently in the same CRM column — and neither matches the client's ad-platform reports. MTK renders datetimes in the timezone you set per client (matching their GA4 / ad-account zone), in whatever format the CRM field wants — while keeping purpose-built payloads for Meta CAPI's event_time and Google Ads offline import untouched.

The pattern

Every one of these problems has the same shape: attribution fails quietly, and the data still looksfine — it's just wrong. Too much Direct. A channel that never sent traffic. A blank field on the popup form's leads. You only find out when a client asks a question the data can't answer.

MTK Attribution was built by an agency, on real client sites, fixing each of these as it surfaced — and every fix ships to every licensed site automatically. See everything it captures (all 43 data points), or add it to a client site — it's one GTM tag.