Launch · engineers · marketers
Filter by the collector host
GTM preview can say a tag fired when the request was blocked, cancelled, or still queued. Network is ground truth for the browser pipe. CAPI will not appear here unless you proxied it through the page.
Filter by host, not by All
facebook.com/tr for Meta Pixel. google-analytics.com/g/collect and analytics.google.com for the Google tag (v=2, tid G-, cid, en). google-analytics.com/mp/collect is Measurement Protocol from a server or a browser you pointed at MP; it is a different pack. ads.tiktok.com and analytics.tiktok.com for TikTok. ct.pinterest.com. px.ads.linkedin.com/collect. googleadservices.com /pagead/conversion. doubleclick.net activity for Floodlight. omtrdc.net and 2o7.net for Adobe /b/ss/.
A filter on pixel or collect is how you miss Floodlight path parameters and Adobe report suites. Filter the collector host. Status 200 is the start of the story. The query still has to be a legal event.
pixellint validate url 'https://www.facebook.com/tr?id=123&ev=Purchase&noscript=1'
pixellint validate url 'https://www.google-analytics.com/g/collect?v=2&tid=G-XXXXXXX&cid=1.2&en=page_view'
Preserve log
Click chains 302. If you do not preserve log, you only see the landing page. The missing gclid died two hops ago. Conversion linker cookies are written on the landing host; a redirect that drops the query before the first page runs is how enhanced conversions have nothing to join.
SPA route changes do not always show as new documents. Look for collect and tr after history.pushState, not only after a full load. A single PageView on DOM ready is a one-page site to every vendor.
Initiators
The initiator column tells you whether fbq, gtag, GTM, or a custom script sent it. Two initiators for PageView is the duplicate install: base code in the theme and again in GTM. Pixel Helper will show two PageViews. Ads Manager will too, without event_id dedup.
Custom HTML in GTM that injects a pixel may ignore Consent Overview. Confirm Network still respects the CMP on a fresh profile, not only that preview listed the tag as fired.
Copy as cURL is a secret
Useful, and a PII leak if you paste it. Redact em=, hashed emails, cookies (_fbp, _ga, session). Then validate the URL with pixellint validate url. Do not paste production cURL into Slack. Do not commit it.
POST bodies (sendBeacon, fetch) need Copy as cURL or the payload panel. GA4 collect is often a POST with the query still on the URL. MP is JSON. CAPI will not appear in this tab unless the page proxied it.
pixellint validate url @redacted-tr.txt --rulepack vendor/meta
Export HAR last, treat it as secrets
A HAR includes cookies and Authorization for your own app if the user was logged in. Pixel debugging does not need those. Sanitize before attach. See HAR files. Prefer a redacted URL list plus pixellint output over a raw HAR in the ticket.
GTM preview is not Network. Preview can say fired while the request is blocked by an extension. Disable the ad blocker on the QA profile, or you will debug a blocker forever and call it a tag bug.
Check the artifact
Paste the pixel URL or JSON body into the
playground. Same engine as
pixellint validate. Nothing leaves the tab.