Tealium Collect checks submitted event fields.
Tealium Collect HTTP API v1 endpoint and locally checkable payload contracts.
What this pack matches
Complete captures check documented credential alternatives.
Missing URL presence for tealium_account, tealium_profile, tealium_event is deferred to this pack's explicit HTTP alternatives on matching captures. A submitted URL or form value keeps its blank and format checks. Bare URLs and unmatched endpoints retain their ordinary requirements.
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 |
|---|---|---|---|---|
tealium_account |
required | vendor.tealium-collect.param.tealium_account.missing |
docs | |
tealium_profile |
required | vendor.tealium-collect.param.tealium_profile.missing |
docs | |
tealium_event |
recommended | vendor.tealium-collect.param.tealium_event.missing |
docs | |
tealium_datasource |
optional | docs | ||
tealium_trace_id |
optional | docs | ||
tealium_visitor_id |
optional | AudienceStream needs visitor context; known IDs and anonymous GUIDs are alternatives. No universal GUID requirement is inferred. | docs | |
tealium_override_tapid |
optional | docs | ||
tealium_skip_3rd_party_vid_cookies |
optional | vendor.tealium-collect.param.tealium_skip_3rd_party_vid_cookies.emptyvendor.tealium-collect.param.tealium_skip_3rd_party_vid_cookies.invalid |
docs | |
tealium_delete_3rd_party_vid_cookies |
optional | vendor.tealium-collect.param.tealium_delete_3rd_party_vid_cookies.emptyvendor.tealium-collect.param.tealium_delete_3rd_party_vid_cookies.invalid |
docs | |
root |
optional | Native JSON type: object. | vendor.tealium-collect.body.root.invalid |
docs |
tealium_account |
required | Native JSON type: string. | vendor.tealium-collect.body.tealium_account.missingvendor.tealium-collect.body.tealium_account.invalid |
docs |
tealium_profile |
required | Native JSON type: string. | vendor.tealium-collect.body.tealium_profile.missingvendor.tealium-collect.body.tealium_profile.invalid |
docs |
tealium_event |
recommended | Native JSON type: string. | vendor.tealium-collect.body.tealium_event.missingvendor.tealium-collect.body.tealium_event.invalid |
docs |
tealium_datasource |
optional | Native JSON type: string. | vendor.tealium-collect.body.tealium_datasource.invalid |
docs |
tealium_trace_id |
optional | Native JSON type: string. | vendor.tealium-collect.body.tealium_trace_id.invalid |
docs |
tealium_visitor_id |
optional | AudienceStream needs visitor context; known IDs and anonymous GUIDs are alternatives. No universal GUID requirement is inferred. Native JSON type: string. | vendor.tealium-collect.body.tealium_visitor_id.invalid |
docs |
tealium_override_tapid |
optional | Native JSON type: string. | vendor.tealium-collect.body.tealium_override_tapid.invalid |
docs |
tealium_skip_3rd_party_vid_cookies |
optional | Native JSON type: boolean. | vendor.tealium-collect.body.tealium_skip_3rd_party_vid_cookies.invalid |
docs |
tealium_delete_3rd_party_vid_cookies |
optional | Native JSON type: boolean. | vendor.tealium-collect.body.tealium_delete_3rd_party_vid_cookies.invalid |
docs |
custom_keys… |
optional | The endpoint documents rejection of JSON keys containing a period. This checks top-level event attribute keys. Member name pattern: ^[^.]*$. | vendor.tealium-collect.body.custom_keys.invalid |
docs |
method |
required | Complete HTTP capture contract. Native JSON type: string. | vendor.tealium-collect.http.method.missingvendor.tealium-collect.http.method.emptyvendor.tealium-collect.http.method.invalid |
docs |
method |
optional | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. | docs | |
query.tealium_account |
required | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_account.missingvendor.tealium-collect.http.query.tealium_account.invalid |
docs |
query.tealium_profile |
required | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_profile.missingvendor.tealium-collect.http.query.tealium_profile.invalid |
docs |
query.tealium_event |
recommended | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_event.missingvendor.tealium-collect.http.query.tealium_event.invalid |
docs |
query.tealium_datasource |
optional | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_datasource.invalid |
docs |
query.tealium_trace_id |
optional | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_trace_id.invalid |
docs |
query.tealium_visitor_id |
optional | AudienceStream needs visitor context; known IDs and anonymous GUIDs are alternatives. No universal GUID requirement is inferred. Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_visitor_id.invalid |
docs |
query.tealium_override_tapid |
optional | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_override_tapid.invalid |
docs |
query.tealium_skip_3rd_party_vid_cookies |
optional | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_skip_3rd_party_vid_cookies.emptyvendor.tealium-collect.http.query.tealium_skip_3rd_party_vid_cookies.invalid |
docs |
query.tealium_delete_3rd_party_vid_cookies |
optional | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["GET"]}. Native JSON type: string. | vendor.tealium-collect.http.query.tealium_delete_3rd_party_vid_cookies.emptyvendor.tealium-collect.http.query.tealium_delete_3rd_party_vid_cookies.invalid |
docs |
method |
optional | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["POST"]}. | docs | |
content_type |
required | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["POST"]}. Native JSON type: string. | vendor.tealium-collect.http.content_type.missingvendor.tealium-collect.http.content_type.emptyvendor.tealium-collect.http.content_type.invalid |
docs |
body |
required | Complete HTTP capture contract. Applies when {"kind":"value_in","param":"method","values":["POST"]}. Native JSON type: object. | vendor.tealium-collect.http.body.missingvendor.tealium-collect.http.body.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/tealium-collect
Try this failing payload in the playground. An example with a validation finding.
https://collect.tealiumiq.com/event?tealium_profile=main&tealium_event=user_login&email_address=user%40example.com&customer_number=45653454&tealium_visitor_id=__my-account_main__7688_45653454__
cargo install pixellint
·
npm install pixellint