vendor/openai · vendor documented
OpenAI Ads image tags need pid and a documented event
The image tag is /v1/sdk/events. pid and event are required. event=custom without custom_event_name is incomplete. The Conversions API is a different pack on /v1/events.
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 |
|---|---|---|---|---|
pid |
required | It is the Pixel ID, and the image tag requires it. Fix: Set `pid` to the Pixel ID from OpenAI Ads. | vendor.openai.param.pid.missingvendor.openai.param.pid.empty |
docs |
event |
required | It is a supported event name, or `custom`. OpenAI documents the image tag as requiring it. Fix: Set `event` to a documented name such as `page_viewed`, or to `custom` with `custom_event_name`. | vendor.openai.param.event.missingvendor.openai.param.event.emptyvendor.openai.param.event.invalid |
docs |
data[type] |
required | It names the data shape for the event. OpenAI documents it as required on the image tag, and unknown fields are rejected. Fix: Set `data[type]` to the shape documented for this event, such as `contents`. | vendor.openai.param.data[type].missingvendor.openai.param.data[type].empty |
docs |
custom_event_name |
optional | It names a custom event. OpenAI documents it as required when `event` is `custom`. Fix: Send `custom_event_name` when `event=custom`. | vendor.openai.param.custom_event_name.empty |
docs |
event_id |
optional | It identifies the event for deduplication against the Conversions API. Use the same value as CAPI `id`. Fix: Send the same `event_id` the Conversions API event uses as `id`. | vendor.openai.param.event_id.empty |
docs |
custom_requires_name |
required | `event` is `custom` but `custom_event_name` is missing. OpenAI documents that name as required for custom events. Fix: Add `custom_event_name` with the custom event name. | vendor.openai.custom_requires_name |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/openai
Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.
cargo install pixellint
·
npm install pixellint