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.
What this pack matches
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.missingvendor.yahoo-conversions-api.param.pixel_id.emptyvendor.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.missingvendor.yahoo-conversions-api.body.eventTs.emptyvendor.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.missingvendor.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.missingvendor.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.emptyvendor.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[].emptyvendor.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.emptyvendor.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[].emptyvendor.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