See if Meta can see your sales
Check whether the Pixel is on any public site — and remember that a tag in the source is not server-side tracking reaching Meta. After the score, connect a Pixel and let Ads Coach read live sales — email on checkout, order value — not a screenshot of Events Manager.
Paste a public URL. We read HTML (or a real browser on Pro). We do not scrape checkout behind a login. Event Match Quality only shows up after sales are flowing from our servers.
Already have a workspace? Use Dashboard → Scanner — it stays in the app and shows operator fields (Pixel compare, evidence, history). This page is the public SEO scanner.
Log in to open the in-app scanner.
Real browser. Pro and Team from a workspace. Static scan stays free, no login.
How it works
Public HTML in, a score out. Connecting server-side tracking is a separate step — the scanner cannot see hashed email or failed retries.
1. Paste a public URL
No Meta login. We request the live HTML the same way a crawler would. Logins, carts, and thank-you pages behind a session stay out of reach — on purpose.
2. Read the page, not Ads Manager
We look for the Pixel, purchase tags, whether sales look counted once, tag managers, and consent. Pro deep scan runs JavaScript and lists Pixel network hits.
3. Fix delivery on the server
A score is a snapshot of the public page. Connect a Pixel in Caply, send sales with email from our servers, then let Ads Coach score the last 250 live events.
What we detect
Same checks the dashboard scanner uses. If the tag is in the public HTML (or the rendered DOM on Pro), we report it.
Meta Pixel + IDs
Whether the Pixel is on the page, parsed Pixel IDs, and duplicate IDs that split diagnostics.
Purchase in HTML
A checkout that only fires after JavaScript will look empty on a static scan — that is a signal, not a false all-clear.
Sale counted once
A browser hit and a server hit for the same checkout without a shared ID double-count. Meta then trains on inflated purchases.
Tag managers
Google Tag Manager and analytics fingerprints. Useful context — they do not send Meta server-side tracking for you.
Server-side helpers
Caply snippet and other server-side tracking fingerprints. A helper still needs email on the purchase.
Consent signals
We flag missing consent mode / fbq consent if you sell in the EU/UK. We do not certify CMP setup.
After sales are flowing from our servers, Event Match Quality is email + visit coverage on the stream — not a field this HTML scan can invent.
Pixel in the HTML is not Conversions API
Operators still treat a green Pixel helper in Events Manager as “tracking is fine.” iOS, ITP, and blockers drop a share of those hits. Advantage+ then trains on the buyers who still load JavaScript.
Browser Pixel
Runs in the page. Dies with consent, extensions, and Safari. Useful for identifying the visit when it actually fires.
Server-side tracking
Purchase and lead from Caply’s servers. We hash email and phone, retry failures, and count each checkout once with the Pixel.
Meta’s one-click Conversions API mostly mirrors the browser, so a blocked Pixel stays blocked. Caply is managed server-side tracking without a tagging server — see vs one-click and vs tagging servers. Drop https://trycaply.com/v1.js on the site.
See how much spend may be wasted
Type spend, reported ROAS, and AOV. A planning range for the conversion gap — not live Ads Manager, not a payout from Meta.
Conversion gap calculator
Spend, reported ROAS, and AOV. We do not pull campaign data from Meta.
e.g. 3 = 3x
More options
Tracking setup
Caply Match Forecast analogue — not Meta’s Event Match Quality tile. Default 5/10. Under 5, money events count as unmatched checkouts.
Meta is training on a sample missing ~36% of conversions
iOS, Safari, and blockers hide a typical 15%–30% of Pixel purchases. At 3.0x that is about $5,460/mo of attributed revenue the algorithm never sees (range $4,215–$6,705). Not a guarantee, and not live Ads Manager ROAS.
Monthly recovered revenue
$4,131
+55 conversions/mo · range $2,559–$5,703
Annual recovered revenue
$49,572
range $30,708–$68,436 · 12 × monthly
ROAS improvement
+28%
from 3.0x to 3.51x–4.14x
Why this matters
- Ad blockers and iOS hide a share of Pixel purchases, so Meta under-counts conversions.
- The algorithm then trains on a thinner sample, which usually makes CPA look worse than the store actually is.
- Server-side tracking sends the purchase with email and phone from our servers, and counts the browser hit once. This calculator is a range, not a payout.
FAQ
What the page can tell you, and what only Ads Coach sees after server-side tracking is live.
- What does the Caply scanner actually check?
- We fetch the public page and look for Meta Pixel, Pixel IDs, tag managers, analytics, purchase tags, whether sales look counted once, consent signals, and fingerprints like Caply. A static scan does not log in to Meta and does not read Events Manager.
- Why can Events Manager still be empty if Pixel is in the HTML?
- The snippet can sit in source while consent, an ad blocker, or a JavaScript error stops the Pixel from firing. Apps that inject the Pixel after first paint look empty in view-source. Pro deep scan runs a real browser for that case. After the Pixel actually fires, you still need server-side tracking for iOS.
- Does a Pixel in the source mean Conversions API is working?
- No. Pixel is the browser tag. Server-side tracking (Conversions API) is a sale sent from our servers with email, phone, visit signals, order value, and the same checkout ID as the Pixel. Meta one-click Conversions API that only mirrors the Pixel inherits every blocked browser. Caply sends the server event itself.
- Static scan vs deep scan — which do I need?
- Static is free, no login, and reads the first HTML response. Use it when the Pixel ships in source. Deep scan is Pro/Team: a real browser, JavaScript-rendered pages, and Pixel network hits.
- What should I do after a low score?
- Create a Caply workspace, connect the Pixel, and send purchase/lead with plaintext email (we hash before Meta). Then open Ads Coach on the last 250 sales — it names missing email, failed delivery, and purchases without a dollar value. The scanner cannot see those; only the live stream can.
- Is the public scanner free? Do you store the URL?
- Static scans are free and need no account. We rate-limit by IP. We only persist a scan row when you run it from a logged-in workspace. We do not claim this is a Meta-certified auditor, and we do not scrape behind logins or checkout walls.
After the scan
Connect the Pixel. Send the sale. Let Ads Coach read the stream.
Public scanner is free and needs no account. Caply’s tool is Pro $29 or Team $99 with a 14-day trial (card required): deep SPA scans, Event Match Quality, Ads Coach, and CAPI ingest.