Validate a pixel
Paste a pixel URL from Chrome Network, a postback, a VAST tracker, or a conversion API JSON body. Pixellint checks it against web standards, the vendor's documented parameters, and the IAB consent specs. Everything runs in this tab. Nothing is sent anywhere.
Copy the collector URL from the Network tab (filter by facebook.com/tr, googleadservices.com, or the MMP host), or paste the JSON body your backend posts. Ctrl/⌘ Enter validates.
Same engine
CLI, CI, agents
The playground is the same validator as the crate, the npm package, and the MCP server. Put the fixtures in CI. Do not paste production HARs into tickets.
cargo install pixellint
npm install pixellint
pixellint validate url 'https://www.facebook.com/tr?ev=Purchase'
pixellint validate json @payload.json --rulepack vendor/meta-conversions-api
Ten reasons
Why bother
-
Broken pixels return
200. A malformed conversion event is accepted and nothing reports it wrong. You find out at month-end reconciliation, if at all. - Every endpoint wants a different clock. Meta takes seconds, LinkedIn milliseconds, GA4 microseconds, Amplitude milliseconds, PostHog and Braze ISO 8601. Send the wrong unit and the event is accepted, dated 1970.
- A purchase with no value reports no revenue. Meta and GA4 both document value and currency as required for purchase events. Neither rejects the event when they are missing.
-
Hashing goes wrong in both directions.
A raw email in
user_datais a privacy incident. A hashed IP address makes the event unmatchable. On the wire they look the same. -
gdpr_consent=1passes a format check. It is valid base64. Only decoding the version field shows it carries no consent at all, which is legal exposure behind a green response. - Server-side has no console. Conversion APIs are raw JSON posted from your backend. No network tab, no browser warning, no consent tool to object.
- Findings cite the vendor's own documentation. With the URL. That turns "I think the tag is wrong" into a ticket the other team can act on.
- It runs before launch. A terminal, CI, an MCP server for agents, an npm package, or this page. Catching a defect at QA costs minutes; catching it after spend costs the campaign.
- Vendor rules only fire on vendor endpoints. No noise on an endpoint it does not understand, and no invented rules either. Unknown hosts get attribution, not findings.
- One tool, not seven vendor debuggers. Browser pixels, conversion APIs, and the analytics tier, with the same output and the same exit codes across all of them.
Library
Pixels, conversion APIs, consent, MMPs, and launch checklists. All docs.
-
A pixel is an HTTP request with a job
Pixels
-
The browser never saw the purchase
CAPI
-
Hash email and phone. Leave the algorithm as SHA-256.
Identity
-
Seconds, milliseconds, microseconds, ISO. Pick one.
Time
-
A TC String is not the letters 1 or true
Consent
-
The MMP endpoint is a contract, not fire-and-forget
Mobile
-
timestamp_micros is 16 digits
Analytics
-
Ship the dictionary before you ship the tag
Launch
-
fbq plus CAPI, same event_id
Vendor
What it knows
Rulepacks
Deep validation. Each rule carries an evidence level and links to the document it came from. One page per pack.
-
core
Core Cardinal Rules
-
vendor/adjust
Adjust S2S events
-
vendor/adobe-analytics
Adobe Analytics
-
vendor/amplitude
Amplitude HTTP V2
-
vendor/appsflyer
AppsFlyer S2S in-app events
-
vendor/branch
Branch Events API
-
vendor/braze
Braze user track
-
vendor/brevo
Brevo Tracker REST events
-
vendor/floodlight
Google Campaign Manager Floodlight
-
vendor/google-ads-click-conversions
Google Ads click conversion upload
-
vendor/google-ads-conversion
Google Ads conversion and remarketing pixel
-
vendor/google-analytics
Google Analytics 4 Measurement Protocol
-
vendor/google-analytics-collect
Google Analytics 4 gtag collect
-
vendor/google-tag-manager
Google Tag Manager and gtag.js
-
vendor/klaviyo
Klaviyo Create Event
-
vendor/kochava
Kochava S2S events
-
vendor/linkedin
LinkedIn image pixel
-
vendor/linkedin-conversions-api
LinkedIn Conversions API
-
vendor/meta
Meta Pixel
-
vendor/meta-conversions-api
Meta Conversions API
-
vendor/microsoft-uet
Microsoft Advertising UET
-
vendor/mixpanel
Mixpanel track
-
vendor/openai
OpenAI Ads image tag
-
vendor/openai-conversions-api
OpenAI Ads Conversions API
-
vendor/pinterest
Pinterest Tag
-
vendor/pinterest-conversions-api
Pinterest Conversions API
-
vendor/posthog
PostHog capture
-
vendor/reddit
Reddit Pixel
-
vendor/reddit-conversions-api
Reddit Conversions API
-
vendor/rudderstack
RudderStack HTTP and Pixel API
-
vendor/segment
Segment HTTP Tracking API
-
vendor/singular
Singular S2S EVENT
-
vendor/snapchat
Snapchat Conversions API
-
vendor/tiktok
TikTok Pixel
-
vendor/tiktok-events-api
TikTok Events API
-
vendor/x-conversions-api
X conversion API
-
vendor/yahoo-dot
Yahoo Dot pixel
-
vendor/yandex-metrica
Yandex Metrica Measurement Protocol
Vendor directory
Endpoint attribution for everything else. One claim per entry: this host belongs to this vendor.