Skip to content
Sealmetrics

Integration · Meta Ads

Meta reports
what it credits.
Measure what arrived.

Sealmetrics does not send conversions to Meta and does not replace the pixel or the Conversions API: bidding keeps running on them. What it does is read the UTMs of every Meta ad click from the landing page, whether or not the visitor accepts the banner, and credit conversions and revenue to the campaign, ad set and ad that brought the session, so Meta's reported results can be set beside a figure Meta does not produce.

URL parameters with UTMs · Facebook and Instagram · no conversions sent to Meta · no cookies

Quick answer

Sealmetrics works with Meta Ads through the landing page URL. You add UTM parameters to every ad in Meta's URL Parameters field: utm_source set to facebook or instagram, utm_medium to paidsocial or cpc, utm_campaign to the campaign, and utm_term and utm_content to the ad set and the ad. Sealmetrics reads those values server-side from the URL of each tagged visit, without cookies, and credits each conversion and its revenue to the campaign, ad set and ad of the session in which it happens, by last click. Without UTMs, paid and organic traffic from Meta blend together, because a Meta referrer alone does not say whether the click was an ad. Sealmetrics does not send conversions to Meta, does not replace the pixel or the Conversions API and does not store ad spend, so Meta keeps optimising on its own data.

Two views of the same ad set

Meta reports the results it credits.
Sealmetrics reports the sessions that arrived.

Neither is wrong. They count different things, and reading the gap between them is the point of running both.

QuestionMeta Ads ManagerSealmetricsWhy they differ
How many people came?Link clicksEntrances carrying the ad's UTMsClicks that never load the page, in-app browsers closed early, parameters lost in redirects
How many converted?Results credited under the ad set's attribution settingConversions in sessions that arrived from the adCredit after views and engagement, modelled conversions, duplicate pixel and server events
Who gets the credit?Meta's own ads onlyThe channel of the converting session, across every channelMeta does not see Google or email; Sealmetrics does not see views
Which campaign, ad set and ad?Names and IDs in Ads ManagerWhatever the UTMs carryOnly what the URL parameters pass
Paid or organic?Paid onlyPaid when the UTMs say soWithout UTMs, ad clicks and organic posts from Meta look alike
What did it cost?Amount spentNot storedSpend is joined from Meta when you calculate ROAS

Why Meta and your CRM or order system never match, and a weekly method to reconcile them, is in Meta Ads conversions vs CRM. The attribution rule is last-click attribution within the session.

What judging Meta on its own report hides

Meta optimises
the view it is given.

That is what the pixel and the Conversions API are for. The risk is using the same figure to decide how much Meta should get against every other channel.

01

Views and engagement count as results

Depending on the ad set's attribution setting, Meta credits conversions after an ad was seen or engaged with, not only clicked. Those orders are real, but nothing in the visit that produced them points to Meta.

02

Consent-gated analytics shrinks social

On Incapto's Shopify store, Sealmetrics recorded 133% more organic social traffic than GA4 and 37–52% more from paid campaigns over the same days. Judged in GA4, social starts from a far smaller base than the one that exists; the mechanism is in Consent Mode: measured vs modelled.

03

Untagged ads disappear into organic

Meta traffic often arrives with little referrer information. Without UTMs, Sealmetrics cannot reliably separate an ad click from an organic post, so campaign, ad set and creative reporting is lost.

Set it up

URL parameters
on every ad.

The work is in Meta Ads Manager, not in Sealmetrics. Agree a naming convention first, because the reports will only be as readable as the names you pass.

  1. Agree the naming convention

    Decide the values once: utm_source facebook or instagram, utm_medium paidsocial or cpc, and lowercase campaign, ad set and ad names without spaces. Consistent names are what make the reports comparable month to month.

  2. Add the URL parameters to each ad

    In Meta Ads Manager, open the ad, find the URL Parameters field under the destination and add utm_source, utm_medium and utm_campaign, plus utm_term for the ad set and utm_content for the ad or creative. Meta's parameter builder can insert campaign, ad set and ad names dynamically.

  3. Check the resolved URL

    Preview the ad and open its link, or use Meta's URL preview, and check that the landing page URL carries the parameters with real names filled in, not placeholders.

  4. Confirm the hit in Sealmetrics

    Load a tagged URL on your site. The Last hit timestamp in Overview should read seconds ago, and the Sources report should show your medium, facebook or instagram as the source, the campaign under Campaigns and the ad set under Terms.

  5. Check redirects and parameter names

    Open a live ad link and look at the address bar after every redirect: the parameters must still be there. If your team uses other parameter names, map them in Settings → Sites → UTM Mappings instead of retagging every ad.

The parameters

Paste into
URL Parameters.

The UTM values follow the conventions in the Sealmetrics documentation. The placeholders in double braces are Meta dynamic parameters; if your account uses different names, build the string with Meta's own parameter builder and keep the same UTM keys.

Facebook placements

Campaign, ad set and ad names passed dynamically, with facebook as the source.

utm_source=facebook&utm_medium=paidsocial&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}

Instagram placements

The same pattern with instagram as the source, for ads you report separately.

utm_source=instagram&utm_medium=paidsocial&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}

Resolved URL

The structure from the Sealmetrics documentation, for a smoke test without waiting for a real click.

https://yourwebsite.com/?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale&utm_term=running_shoes

What stays, what changes

Meta keeps optimising.
The budget decision moves.

Nothing in the Meta account is replaced. What changes is which figure decides how much Meta gets against the other channels.

Pixel and Conversions API

Stay: conversions for Meta's delivery.

Meta keeps optimising on the events it receives, behind your consent setup. Sealmetrics does not send it any.

Meta Ads conversions vs CRM

Paid social manager

Ad sets and creatives on measured revenue.

utm_term and utm_content carry the ad set and the ad, so revenue per creative can be read without consent loss.

Campaign revenue attribution

Analysts

Spend and revenue in one table.

Join Meta spend with Sealmetrics revenue on utm_campaign in BigQuery, or ask an AI assistant connected to both.

BigQuery export

Measured on paid social

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 checks the sales Sealmetrics attributes against its CRM total, and Meta and Google were the first budgets it moved. Incapto's parallel run shows how much smaller social looks when it is measured only on consenting visitors.

15–20%

more sales attributed than the previous tool; Meta and Google were the first budgets moved

Dreamplace HotelsRead the case
+133%

more organic social traffic recorded by Sealmetrics than by GA4 over the same days

62%

paid campaigns' share of traffic measured without consent loss, against 50% in GA4

What it does not do

A measurement layer.
Not a delivery signal.

These are deliberate. The same pattern for Google is on Sealmetrics for Google Ads.

No conversions sent to Meta

Sealmetrics does not replace the pixel or the Conversions API, so Meta's delivery and optimisation keep running on the events it receives.

No spend import

Amount spent is not stored in Sealmetrics. Join it from Meta in a spreadsheet, in BigQuery or through an AI assistant connected to both.

UTMs are required

Without them, paid and organic Meta traffic blend, and campaign, ad set and creative reporting is not available.

No view-through

Last click per session: ads that were seen but not clicked, and earlier sessions, get no credit.

Names are whatever you pass

Reports show the values in the URL. Inconsistent or default names in Meta make the reports hard to read.

Parameters must reach the page

Anything dropped by a redirect or a link shortener before the tracker fires is gone for good.

Common Meta Ads questions

Before you tag
your ads.

How do I track Meta Ads campaigns in Sealmetrics?

Add UTM parameters to every ad in Meta Ads Manager's URL Parameters field: utm_source facebook or instagram, utm_medium paidsocial or cpc, utm_campaign for the campaign, and utm_term and utm_content for the ad set and ad. Check the resolved URL, load it on your site and confirm the values in the Sources report.

Does Sealmetrics send conversions to Meta or replace the Conversions API?

No. Sealmetrics does not send conversions to Meta, so it does not affect delivery or optimisation. Keep the Meta pixel and the Conversions API for Meta, and use Sealmetrics to measure revenue by campaign, ad set and ad without consent loss when you decide budget between channels.

Why does Meta report more conversions than Sealmetrics?

Meta credits results under each ad set's attribution setting, which can include conversions after a view or engagement, and it models part of what it cannot observe. Duplicate pixel and server events inflate it further when they do not share an event ID. Sealmetrics counts conversions in sessions that arrived from the ad.

Can Sealmetrics tell paid from organic Facebook and Instagram traffic?

Yes, when the ads carry UTMs. Meta traffic often arrives with little referrer information, and Meta also adds click identifiers to organic links, so without UTMs Sealmetrics cannot reliably separate an ad click from an organic post.

Can I see revenue by ad set and creative?

Yes, if utm_term and utm_content carry the ad set and the ad or creative. Sealmetrics reports conversions and revenue by those values, and the BigQuery export includes utm_term and utm_content on every conversion row.

How do I calculate Meta Ads ROAS with Sealmetrics?

Take amount spent per campaign from Meta and revenue per utm_campaign from Sealmetrics for the same dates, timezone and currency, and divide. Compare it with the ROAS Meta reports: Meta's figure is for its own optimisation, the measured one for budget between channels.

Does iOS affect what Sealmetrics measures from Meta ads?

Sealmetrics reads UTMs from the landing page, so a tagged click from an iOS device is measured like any other visit. Meta's own reporting relies partly on modelling where it cannot observe conversions, which is why the Sealmetrics prompt library compares Meta and Sealmetrics conversions by device.

Does tagging Meta ads require cookie consent for Sealmetrics?

The UTMs travel in the URL and Sealmetrics sets no cookie to read them. The Meta pixel still needs consent, and whether your analytics configuration is exempt depends on your national authority's criteria.

Meta Ads review

Tag your ads.
See revenue by ad set and creative.

Book 30 minutes with the founder. We agree the naming convention, confirm the first tagged hits and set Sealmetrics revenue beside your Meta spend for last month.