Skip to content
Sealmetrics

Use case · Campaign revenue attribution

Your campaigns are judged
on the visitors
who clicked accept.

Ad platforms grade their own ads, and GA4 only sees the visitors who accept the banner — a loss that hits paid traffic harder than most. Sealmetrics attributes every euro of revenue to channel, campaign and creative on every session it records, whether or not the visitor accepts cookies, so budget moves on what actually sold.

Channel · campaign · creative · last click per session · no cookies · EU-hosted in Dublin

Quick answer

Revenue attribution without cookies assigns each order's revenue to the channel, campaign and creative of the session in which it happened, without storing anything on the visitor's device. It answers which campaigns actually sold when ad platforms grade their own ads and GA4 misses the visitors who reject the banner — a loss that hits paid traffic harder: on Incapto's Shopify store, Sealmetrics saw 37% to 52% more paid-campaign traffic than GA4. Sealmetrics reads the UTM parameters and ad click IDs in the landing URL, credits each conversion to the most recent source of its session, and rolls revenue up by source, medium, campaign, content and term. ROAS comes from joining that revenue with each platform's spend. The model is last click per session: it does not measure view-through or credit earlier visits, which belong in a marketing-mix model.

Why every report disagrees

One sale.
Three claimants.

Each report is internally consistent. They disagree because they credit different things, see different visitors and are graded by different people.

ReportHow it credits the saleWhy it misleads the budgetUse it for
Meta Ads and Google AdsTo its own ad, inside its own attribution window; can include modelled and view-through conversionsEach platform grades itself, so the same sale can be claimed twiceBidding and creative tests inside the platform
GA4 with Consent ModeAcross the visits it recorded: consented, unblocked visitors, plus estimatesChannels that bring new audiences lose more visits to the banner, so paid and social look weaker than they areTrends on the consented share
Order system or CRMThe sale itself, with whatever source reached checkoutExact totals, but no dependable channel behind each orderRevenue truth
SealmetricsTo the last click of the session in which the order happened, on every recorded sessionNo earlier visits and no view-throughChannel and campaign budget decisions

The model is defined under last-click attribution and revenue attribution; why a longer attribution window collapses without cookies is explained there too. When the disagreement reaches finance, the problem becomes one number for marketing and finance.

What it costs not to know

Budget follows
the report you can see.

When attribution runs on the consented share of traffic, the error is not noise. It has a direction, and it points away from the campaigns that bring new customers.

01

Paid looks worse than it is

At Incapto, GA4 put paid campaigns at 50% of traffic; measured without consent loss they were 62%. The range on paid visits was 37% to 52% more than GA4, because GA4 groups part of the spend under Cross-network.

02

Budget stays where it is visible

Dreamplace Hotels attributes 15–20% more sales with Sealmetrics than with its previous tool, and used that view to shift budget toward a channel it was not seeing before. Meta and Google were the first budgets to move.

03

Volume passes for performance

Palladium Hotel Group could see platform activity but could not compare partners, placements and audiences on equal terms. Attributing each visit and judging the mix on cost per availability search improved Display Cost-per-Search by 165%.

The setup

Tag it once.
Read revenue by campaign.

Without cookies, the landing URL is the only place attribution can come from, so the setup is mostly about what that URL carries. Event and purchase instrumentation is covered in conversion tracking without cookies, and UTM parameters are defined in the glossary.

  1. Tag every paid link

    Add utm_source, utm_medium and utm_campaign to every destination URL, and utm_content for the creative. In Google Ads, a ValueTrack tracking template at account level applies it to every campaign; in Meta Ads, add the UTMs to each ad's URL parameters.

  2. Map your own parameter names

    If an agency or email tool uses names like campaign_id, UTM Mapping copies them into the standard UTMs when the visit arrives. It applies to new traffic only, so set it up before the campaign launches.

  3. Stop external domains stealing the credit

    Payment gateways are recognised automatically. Register booking engines, SSO or an external checkout as passthrough referrers, so the return trip keeps the original source instead of starting a new referral.

  4. Fire the conversion once, with its value

    Send the purchase on confirmation with its revenue. Sealmetrics counts what fires and does not deduplicate, so a reloaded thank-you page counts twice; on Shopify the purchase comes from the orders/create webhook.

  5. Join revenue with spend

    Revenue by campaign is only half of ROAS. Join it with Google Ads or Meta Ads cost in BigQuery on the campaign value you tagged, or ask an assistant connected to both the Sealmetrics MCP server and the ad platform's.

Who uses it

The same revenue,
four budget arguments.

Platforms keep optimising. The decision about where the next euro goes moves to a report none of them produced.

Performance marketing

Know which campaign and creative actually sold.

Revenue by source, medium, campaign, content and term on every recorded session, including visitors who rejected cookies.

Conversion tracking

Agency

Prove results on a number the client did not have to take on trust.

The platforms still bid; the client judges the result on neutral, session-level attribution the agency did not produce.

Analytics for agencies

CMO

Move budget between channels without a fight.

A channel mix measured without consent loss, so paid, social and organic are compared on the same base.

Analytics for CMOs

Analytics / BI

Build ROAS and MMM inputs on full-resolution data.

BigQuery connector, REST API and MCP server over the same aggregate revenue the dashboard shows.

Integrations

Measured in practice

“The value is in optimising budget and investment. You shift toward a channel or strategy you were not seeing before.”

Eduardo Martin · Analytics & Campaigns · Dreamplace Hotels

Dreamplace Hotels runs Sealmetrics as an independent layer, compares attributed sales with its CRM total and uses the remaining gap as a quality signal. The difference is not a data-quality curiosity: it changes where the paid-media budget goes.

15–20%

more sales attributed than with the previous tool, reconciled against the CRM

Dreamplace HotelsRead the case
+165%

Display Cost-per-Search after rebalancing partners, placements and audiences

Palladium Hotel GroupRead the case
12 pts

gap in paid campaigns' share of traffic between GA4 (50%) and Sealmetrics (62%)

What it does not measure

Last click per session.
On purpose.

Multi-touch models need to know that two visits were the same person, which needs an identifier and brings back the consent loss. Sealmetrics does not build one. Earlier influence belongs in a different attribution model built on aggregate spend and revenue.

— No multi-touch model

Credit is not split across a person's visits, because no visit is linked to a person. That is the trade-off that removes the identifier.

— No view-through

Impressions that did not produce a click are not measured. View-through lives in the ad platform or in a marketing-mix model.

— A returning visit takes the credit

If a customer first arrives from Google Ads and buys later through a newsletter, the newsletter gets the sale. There is no lookback window across sessions.

— Only as good as the tags

Untagged Meta traffic blends with organic, and redirects that strip parameters lose the campaign for good.

— No push back to the platforms

Sealmetrics does not send conversions to Google Ads or Meta for automated bidding. Keep the platform's own consent-gated conversion setup for that.

— No measured ROI claim

The Incapto comparison measured traffic, orders and channel mix, not return on ad spend. Your ROAS comes from your own spend data.

Common questions

Before you move
the next budget.

How do you attribute revenue without cookies?

Sealmetrics reads the UTM parameters and ad click IDs in the landing URL when a session starts, and credits any conversion in that session to its most recent source. No identifier is stored on the device, so the visit is measured whether or not the visitor accepts cookies. Revenue then rolls up by source, medium, campaign, content and term.

Can I see revenue by campaign and creative, not just by channel?

Yes, as long as the links carry the parameters. Revenue rolls up by utm_source, utm_medium, utm_campaign, utm_term and utm_content, and utm_content is where the creative goes. In Google Ads a ValueTrack tracking template adds campaign and keyword automatically; in Meta Ads the UTMs go in each ad's URL parameters.

Why does GA4 show fewer conversions for my paid campaigns than Meta or Google Ads?

The platforms credit conversions to their own ads inside their own attribution windows, and can include modelled and view-through conversions. GA4 only records visitors who accept the banner, and paid traffic loses more to it: on Incapto's Shopify store, Sealmetrics saw 37% to 52% more paid-campaign traffic than GA4.

Why last click and not multi-touch?

Multi-touch needs to link visits to the same person across sessions, which needs a cookie, a fingerprint or a stitched ID, and that identifier brings back the consent requirement and the traffic lost to the banner. Last click within a session needs no identifier, so it can be applied to each session Sealmetrics records. It does not measure earlier influence.

What about view-through attribution?

Sealmetrics does not measure view-through, because linking an ad impression to a later visit needs a per-person identifier. View-through belongs in the ad platform or in a marketing-mix model built on aggregate spend and revenue, where Sealmetrics can provide the revenue side.

What happens if a customer comes back later through another channel?

The sale goes to the source of the session in which it happens. If the customer first came from Google Ads and returned through direct the next day, direct gets the credit. Sessions close after about two hours of inactivity and there is no lookback window, which is the explicit cost of not tracking individuals.

Can Sealmetrics send conversions back to Google Ads or Meta for bidding?

No. Sealmetrics does not push conversions or audiences to the ad platforms. Most teams keep the platform's own conversion setup, gated by consent, for automated bidding, and use Sealmetrics to decide how much budget each channel and campaign gets.

How does this reconcile with CRM revenue?

Against the order total for the same period, not order by order. In Incapto's 48-day parallel run on Shopify, Sealmetrics recorded 96% of real online-store orders and 97% of revenue. Sealmetrics counts what fires and does not store order IDs, so fire the conversion once per confirmed order and compare totals and channels.

Attribution review

See which campaigns sold
on your own traffic.

Book 30 minutes with the founder. We look at your campaign tagging, run last-click attribution on your sessions and compare it with what the platforms and GA4 report.