Taboola events carry account paths and engagement metrics.
Taboola account-scoped collectors validate event clocks, engagement metrics and subscription markers. The SDK logger form and beacon methods receive the same field checks as URL requests.
Custom event names, opaque session strings and literal null referrers remain accepted. New producer checks are advisory. Other logger paths and S2S protocols retain separate contracts.
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 |
|---|---|---|---|---|
en |
recommended | Taboola documents en on conversion event requests and says other unip requests are internal traffic. Because the endpoint matcher includes both, absence is a warning rather than an asserted transport failure. Fix: Send `en` with the Realize event name, such as `page_view` or `purchase`. | vendor.taboola-unip.param.en.missingvendor.taboola-unip.param.en.empty |
docs |
revenue |
optional | It is the conversion value. Taboola documents an integer or decimal number, with no commas. Page views omit it. Fix: Send a number, such as `9.99`, or drop the pair on a page view. | vendor.taboola-unip.param.revenue.emptyvendor.taboola-unip.param.revenue.invalid |
docs |
currency |
optional | It is the revenue currency. Taboola documents a fixed list of three-letter codes, case-sensitive. Omit it to use the account default. Fix: Use a documented code such as `USD`. | vendor.taboola-unip.param.currency.emptyvendor.taboola-unip.param.currency.invalid |
docs |
quantity |
optional | It is the item quantity in the order. Taboola documents an integer. Fix: Send an integer quantity, such as `3`. | vendor.taboola-unip.param.quantity.emptyvendor.taboola-unip.param.quantity.invalid |
docs |
orderid |
optional | It is an order ID from the advertiser CRM. Taboola documents it as optional. Purchase fires often send it. Fix: Set orderid to the CRM order ID, or drop the pair. | vendor.taboola-unip.param.orderid.empty |
docs |
publisher_id |
recommended | The SDK routes events through a numeric account path. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.publisher_id.missingvendor.taboola-unip.param.publisher_id.emptyvendor.taboola-unip.param.publisher_id.invalid |
docs |
tim |
optional | Generated event time in Unix milliseconds. No freshness window is inferred. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.tim.emptyvendor.taboola-unip.param.tim.invalid |
docs |
tos |
optional | Generated visible time on site in milliseconds. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.tos.emptyvendor.taboola-unip.param.tos.invalid |
docs |
ssd |
optional | Observed site-depth counter. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.ssd.emptyvendor.taboola-unip.param.ssd.invalid |
docs |
scd |
optional | Maximum scroll percentage; no unstated 100 percent ceiling is imposed. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.scd.emptyvendor.taboola-unip.param.scd.invalid |
docs |
est |
optional | Generated session-start milliseconds. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.est.emptyvendor.taboola-unip.param.est.invalid |
docs |
msa |
optional | Generated maximum scrollable amount. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.msa.emptyvendor.taboola-unip.param.msa.invalid |
docs |
ce |
optional | Pinned producer marker. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.ce.emptyvendor.taboola-unip.param.ce.invalid |
docs |
psb |
optional | Pinned producer marker. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.psb.emptyvendor.taboola-unip.param.psb.invalid |
docs |
cis |
optional | Pinned producer marker. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.cis.emptyvendor.taboola-unip.param.cis.invalid |
docs |
ga |
optional | Pinned producer marker. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.ga.emptyvendor.taboola-unip.param.ga.invalid |
docs |
isls |
optional | Pinned producer marker. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.isls.emptyvendor.taboola-unip.param.isls.invalid |
docs |
item-url |
optional | Optional page-location override. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.item-url.emptyvendor.taboola-unip.param.item-url.invalid |
docs |
surl |
optional | Optional page-location override. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.param.surl.emptyvendor.taboola-unip.param.surl.invalid |
docs |
method |
recommended | Pinned producer transport. Complete HTTP capture contract. Presence diagnostic severity: warning. Evidence: vendor template. | vendor.taboola-unip.http.method.missingvendor.taboola-unip.http.method.emptyvendor.taboola-unip.http.method.invalid |
docs |
Validate a payload
pixellint validate url "$ARTIFACT" --rulepack vendor/taboola-unip
Try this failing payload in the playground. A Taboola event with a malformed clock.
https://trc.taboola.com/1234567/log/3/unip?en=Custom&tim=clock
cargo install pixellint
·
npm install pixellint