pixellint

vendor/yahoo-conversions-api · vendor documented

Yahoo CAPI events need a pixel ID, eventTs, and a match key

The Standard Conversion API posts a JSON array to /v1/events/{pixelId}. eventTs is seconds or milliseconds. userData needs hashed email, phone, gpsaid, idfa, or pxid, or clickData. Dot image pixels stay vendor/yahoo-dot.

The pixel ID is a path segment

A POST to /v1/events with no pixel ID is not tied to a DSP pixel.

Rule: vendor.yahoo-conversions-api.param.pixel_id.missing

What this pack matches

Hosts
batch.datax.yahoo.com
Paths
/v1/events
Vendor docs
help.yahooinc.com/dsp-api/docs/standard-yahoo-conversion-api

Rules

Codes are stable. A finding in CI, MCP, or the playground lands on the same id.

Field Required What it checks Rule ids Source
pixel_id required It is the Yahoo DSP pixel ID. Yahoo documents the batch endpoint as /v1/events/{pixelId}. Fix: Put the DSP pixel ID in the path, such as /v1/events/10157549. Do not reuse a live Dot pixel ID. vendor.yahoo-conversions-api.param.pixel_id.missing
vendor.yahoo-conversions-api.param.pixel_id.empty
vendor.yahoo-conversions-api.param.pixel_id.invalid
docs
eventTs required It is the event time in seconds or milliseconds. Yahoo documents eventTs as required. Fix: Set eventTs to a Unix timestamp in seconds or milliseconds. vendor.yahoo-conversions-api.body.eventTs.missing
vendor.yahoo-conversions-api.body.eventTs.empty
vendor.yahoo-conversions-api.body.eventTs.invalid
docs
eventName required It is the event action name. Yahoo documents eventName as required. Fix: Set eventName to the action the DSP rule matches, such as addToCart or Purchase. vendor.yahoo-conversions-api.body.eventName.missing
vendor.yahoo-conversions-api.body.eventName.empty
docs
actionSource required It is the digital or physical source of the event. Yahoo documents actionSource as required. Fix: Set actionSource to a source such as web, app, phone, email, online, or physical_store. vendor.yahoo-conversions-api.body.actionSource.missing
vendor.yahoo-conversions-api.body.actionSource.empty
docs
userData required It is the wrapper for match keys. Yahoo documents userData as required, with at least one ID or clickData. Fix: Send a userData object with hashed email, phone, device ID, or pxid, or send clickData. vendor.yahoo-conversions-api.body.userData.missing docs
userData.email optional Email must be lowercased and SHA-256 hashed. Yahoo documents userData.email as a list of hashes. Fix: Lowercase the email, hash it with SHA-256, and send 64 lowercase hex characters. vendor.yahoo-conversions-api.body.userData.email.empty
vendor.yahoo-conversions-api.body.userData.email.invalid
docs
userData.email[] optional Every email in the list must be SHA-256 hashed. Fix: Lowercase each email, hash it with SHA-256, and send the hex digests. vendor.yahoo-conversions-api.body.userData.email[].empty
vendor.yahoo-conversions-api.body.userData.email[].invalid
docs
userData.phone optional Phone numbers must be SHA-256 hashed. Yahoo documents userData.phone as a list of hashes. Fix: Hash the phone number with SHA-256 and send 64 lowercase hex characters. vendor.yahoo-conversions-api.body.userData.phone.empty
vendor.yahoo-conversions-api.body.userData.phone.invalid
docs
userData.phone[] optional Every phone number in the list must be SHA-256 hashed. Fix: Hash each phone number with SHA-256 and send the hex digests. vendor.yahoo-conversions-api.body.userData.phone[].empty
vendor.yahoo-conversions-api.body.userData.phone[].invalid
docs
userData.gpsaid optional It is a list of Android advertising IDs. docs
userData.idfa optional It is a list of Apple advertising IDs. docs
userData.pxid optional It is a list of partner match IDs in the form sourceId:value. docs
clickData.vmcid optional It is the Yahoo Click ID. Yahoo documents clickData as a match key when user IDs are not available. vendor.yahoo-conversions-api.body.clickData.vmcid.empty docs
clickData.tblci optional It is the Taboola Click ID. vendor.yahoo-conversions-api.body.clickData.tblci.empty docs
body.unhashed_email required A field carries what looks like a raw email address. Yahoo documents userData.email as SHA-256 hashed, lowercased values. Fix: Lowercase the email, hash it with SHA-256, and send the hex digest in userData.email. vendor.yahoo-conversions-api.body.unhashed_email docs
body.user_needs_an_identifier required The event has no match key. Yahoo documents at least one of hashed email, phone, gpsaid, idfa, pxid, or clickData. Fix: Send hashed userData.email, phone, gpsaid, idfa, or pxid, or send clickData.vmcid or clickData.tblci. vendor.yahoo-conversions-api.body.user_needs_an_identifier docs

Validate a payload

pixellint validate json @payload.json --rulepack vendor/yahoo-conversions-api

Try this failing payload in the playground. Yahoo CAPI missing eventName.

[{"eventTs":1733508168,"actionSource":"web","userData":{"email":["536a09742acb5b4ec7c7d6c0e20a5d3f4318817817353b69f8ee15f27d3fc9fa"]}}]

cargo install pixellint · npm install pixellint