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.
Integration · Meta Ads
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
Neither is wrong. They count different things, and reading the gap between them is the point of running both.
| Question | Meta Ads Manager | Sealmetrics | Why they differ |
|---|---|---|---|
| How many people came? | Link clicks | Entrances carrying the ad's UTMs | Clicks 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 setting | Conversions in sessions that arrived from the ad | Credit after views and engagement, modelled conversions, duplicate pixel and server events |
| Who gets the credit? | Meta's own ads only | The channel of the converting session, across every channel | Meta does not see Google or email; Sealmetrics does not see views |
| Which campaign, ad set and ad? | Names and IDs in Ads Manager | Whatever the UTMs carry | Only what the URL parameters pass |
| Paid or organic? | Paid only | Paid when the UTMs say so | Without UTMs, ad clicks and organic posts from Meta look alike |
| What did it cost? | Amount spent | Not stored | Spend 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
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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}}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}}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_shoesWhat stays, what changes
Nothing in the Meta account is replaced. What changes is which figure decides how much Meta gets against the other channels.
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 CRMAd 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 attributionMeta against every other channel.
One last-click rule for all traffic, checked against real orders, instead of each platform's own credit.
One number for marketing and financeSpend 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 exportMeasured 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.
more sales attributed than the previous tool; Meta and Google were the first budgets moved
more organic social traffic recorded by Sealmetrics than by GA4 over the same days
paid campaigns' share of traffic measured without consent loss, against 50% in GA4
What it does not do
These are deliberate. The same pattern for Google is on Sealmetrics for Google Ads.
Sealmetrics does not replace the pixel or the Conversions API, so Meta's delivery and optimisation keep running on the events it receives.
Amount spent is not stored in Sealmetrics. Join it from Meta in a spreadsheet, in BigQuery or through an AI assistant connected to both.
Without them, paid and organic Meta traffic blend, and campaign, ad set and creative reporting is not available.
Last click per session: ads that were seen but not clicked, and earlier sessions, get no credit.
Reports show the values in the URL. Inconsistent or default names in Meta make the reports hard to read.
Anything dropped by a redirect or a link shortener before the tracker fires is gone for good.
Common Meta Ads questions
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.
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.
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.
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.
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.
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.
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.
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
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.