38 rulepacks
Rulepacks
One page per vendor contract. The heading is the failure you search for. The table is the rule ids CI will print. Vendor packs only fire on their endpoints; core runs on every URL-like artifact.
Conversion APIs
Server events. The HTTP 200 is not a contract check.
-
Meta Conversions API wants seconds, not Date.now()
Meta Conversions API ·
vendor/meta-conversions-api -
Snap writes WEB where Meta writes website
Snapchat Conversions API ·
vendor/snapchat -
TikTok Events API timestamp is ISO 8601
TikTok Events API ·
vendor/tiktok-events-api -
LinkedIn conversionHappenedAt is milliseconds
LinkedIn Conversions API ·
vendor/linkedin-conversions-api -
Pinterest Conversions API event payloads
Pinterest Conversions API ·
vendor/pinterest-conversions-api -
Reddit Conversions API v3 payloads
Reddit Conversions API ·
vendor/reddit-conversions-api -
X conversion API website events
X conversion API ·
vendor/x-conversions-api -
OpenAI CAPI timestamps are milliseconds
OpenAI Ads Conversions API ·
vendor/openai-conversions-api -
Click conversion uploads need a click ID or hashed user
Google Ads click conversion upload ·
vendor/google-ads-click-conversions
Analytics and CDP
Measurement Protocol, capture, track, identify. Each vendor wants a different clock.
-
GA4 Measurement Protocol wants microseconds
Google Analytics 4 Measurement Protocol ·
vendor/google-analytics -
The /g/collect hit the Google tag actually fires
Google Analytics 4 gtag collect ·
vendor/google-analytics-collect -
Amplitude time is milliseconds. Seconds land in 1970.
Amplitude HTTP V2 ·
vendor/amplitude -
PostHog capture treats an epoch timestamp as now
PostHog capture ·
vendor/posthog -
Mixpanel's project token rides inside properties
Mixpanel track ·
vendor/mixpanel -
A Segment track call needs an event name
Segment HTTP Tracking API ·
vendor/segment -
RudderStack pixels need a write key and an identity
RudderStack HTTP and Pixel API ·
vendor/rudderstack -
Adobe Analytics report suite rides on the path
Adobe Analytics ·
vendor/adobe-analytics -
Yandex Measurement Protocol is /collect, not /watch
Yandex Metrica Measurement Protocol ·
vendor/yandex-metrica
Marketing and messaging
JSON:API events, user track, purchases with a real currency code.
Browser pixels and tags
Image pixels, loaders, and the collect transport the tag actually fires.
-
Meta Pixel requests need a Pixel ID
Meta Pixel ·
vendor/meta -
GTM and gtag.js loaders need a container ID
Google Tag Manager and gtag.js ·
vendor/google-tag-manager -
Google Ads conversion pixels carry the ID in the path
Google Ads conversion and remarketing pixel ·
vendor/google-ads-conversion -
Floodlight parameters ride on the path
Google Campaign Manager Floodlight ·
vendor/floodlight -
Pinterest tag requests need a tag ID
Pinterest Tag ·
vendor/pinterest -
LinkedIn image pixels need a Partner ID
LinkedIn image pixel ·
vendor/linkedin -
TikTok Pixel loaders need sdkid
TikTok Pixel ·
vendor/tiktok -
Reddit Pixel requests need an advertiser ID
Reddit Pixel ·
vendor/reddit -
UET requests need a numeric tag ID
Microsoft Advertising UET ·
vendor/microsoft-uet -
Yahoo Dot pixels need a and .yp
Yahoo Dot pixel ·
vendor/yahoo-dot -
OpenAI Ads image tags need pid and a documented event
OpenAI Ads image tag ·
vendor/openai
Mobile attribution
S2S in-app events. The MMP endpoint is a contract, not a fire-and-forget.
-
Adjust server-to-server events
Adjust S2S events ·
vendor/adjust -
AppsFlyer S2S in-app events
AppsFlyer S2S in-app events ·
vendor/appsflyer -
Branch Events API payloads
Branch Events API ·
vendor/branch -
Kochava S2S events need an app id and event name
Kochava S2S events ·
vendor/kochava -
Singular EVENT is form fields, not JSON
Singular S2S EVENT ·
vendor/singular
Baseline
URL validity, transport, macros, and IAB consent strings on every artifact.