pixellint

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

Hosts
bzr.openai.com
Paths
/v1/sdk/events
Vendor docs
developers.openai.com/ads/image-tag

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.missing
vendor.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.missing
vendor.openai.param.event.empty
vendor.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].missing
vendor.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