NextRoll · AsyncAPI Specification
Nextroll S2S Events
Version
View Spec
View on GitHub
CompanyAdvertisingAdTechMarketingAccount Based MarketingRetargetingAudiencesCampaign ManagementAnalyticsReportingMarTechAgentsAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-14'
method: searched
source: https://apidocs.nextroll.com/server-to-server-api/events.html
spec_type: none
spec_type_note: >-
NextRoll publishes NO AsyncAPI document. Probed /asyncapi.yaml and /asyncapi.json on
services.adroll.com, srv.adroll.com and apidocs.nextroll.com — nothing. This file is
a faithful catalogue of the event surface the provider documents in prose, not a
generated AsyncAPI spec. Nothing here is invented.
direction: inbound
direction_note: >-
IMPORTANT for scoring and for agents: this is an event INGESTION surface — the
customer's server sends events TO AdRoll. It is not a webhook/callback surface;
NextRoll publishes no outbound webhook or subscription mechanism, and no `Webhooks`
pointer is wired in apis.yml for that reason.
surface:
name: NextRoll Server-to-Server (S2S) Event API
endpoint: POST https://srv.adroll.com/api
query_parameters:
advertisable: the EID of the advertisable the events belong to (required)
dry_run: >-
optional; with a value of true the payload is validated and logged but does not
impact audiences or attribution. The only validate-only mode NextRoll documents
on any service — see conventions/nextroll-conventions.yml#dry_run.
content_type: application/json
batching: an array of events; documented limit of 100 events per request
compression: 'HTTP compression (gzip) is supported to reduce request size.'
authentication:
scheme: Server Access Token (SAT)
self_service: false
note: SATs are issued by a NextRoll account manager and shared through a one-time,
seven-day 1Password link.
maturity: 'under active development — "generally stable, it may change. Event
processing is not yet fully complete."'
docs:
overview: https://apidocs.nextroll.com/server-to-server-api/overview.html
events: https://apidocs.nextroll.com/server-to-server-api/events.html
reference: https://apidocs.nextroll.com/server-to-server-api/reference.html
code_examples: https://github.com/AdRoll/server-to-server
envelope:
required:
- advertisable_eid
- pixel_eid
- event_name
- page_location
- ip
- identifiers (at least one of first_party_cookie or adct)
optional:
- event_attributes
- user_agent
- conversion_value
- currency
- timestamp
- device_os
- device_type
- package_app_name
- package_app_version
- external_data
field_notes:
currency: three-letter ISO 4217 codes
timestamp: UTC seconds, decimal point permitted for milliseconds; defaults to now
external_data: JSON string for caller-defined metadata
identifiers:
- id: adct
name: Click ID
description: Unique click token AdRoll appends to the landing-page URL as the `adct`
query parameter when a user clicks an ad.
- id: first_party_cookie
name: First-party cookie
description: Retrieved from the AdRoll pixel via adroll.get_cookie(callback), or
generated by the customer (valid for one year) using the published code examples.
- id: device_id
name: Mobile advertising id
description: Apple IDFA or Google GAID for mobile app events.
- id: email
name: Email (cleartext)
- id: email_sha256
name: Email hashed with SHA-256 of the lowercased address
- id: email_md5
name: Email hashed with MD5 of the lowercased address
- id: user_id
name: Custom user id
description: A stable identifier the customer assigns to a user in their own system.
product_object:
fields: [product_id, product_group, price, quantity, category]
note: price currency must match the event-level `currency` field.
events:
- name: pageView
category: b2c
description: A user viewed a page on the site or app. The default event when no more
specific event applies.
required_attributes: []
optional_attributes: [event_attributes.products]
caution: Do not send an S2S pageView for a page where the AdRoll pixel is already
installed — it double-counts traffic.
- name: homeView
category: b2c
description: A user viewed the homepage.
required_attributes: []
optional_attributes: []
- name: productSearch
category: b2c
description: A user searched for products.
required_attributes: []
optional_attributes: [event_attributes.keywords, event_attributes.products]
- name: addToCart
category: b2c
description: A user added one or more products to the cart.
optional_attributes: [event_attributes.products]
- name: purchase
category: b2c
description: A user completed a purchase.
optional_attributes: [event_attributes.order_id, event_attributes.products]
- name: highValuePage
category: b2b-abm
description: A user viewed a page the advertiser treats as high intent.
- name: gatedContent
category: b2b-abm
description: A user accessed gated content.
- name: demoRequest
category: b2b-abm
description: A user requested a demo.
- name: signupPlan
category: b2b-abm
description: A user signed up for a plan.
- name: signupTrial
category: b2b-abm
description: A user started a trial.
- name: contactSales
category: b2b-abm
description: A user contacted sales.
- name: liveChat
category: b2b-abm
description: A user engaged live chat.
- name: formFill
category: b2b-abm
description: A user submitted a form.
event_count: 13
parallel_surface:
name: AdRoll Pixel v2 JavaScript API
method: adroll.track(eventName, attributes)
note: The same thirteen event names are the supported browser-side events, so the
S2S catalogue and the pixel catalogue are one vocabulary across two transports.
see: components/nextroll-components.yml
mobile:
page_location: >-
Mobile app events build a synthetic URL on a domain the customer controls (it need
not resolve), carrying device_os, device_type, package_app_name and
package_app_version as query parameters, so URL audiences can target app events.
gaps:
- No AsyncAPI document, no JSON Schema for the event envelope, no channel bindings.
- No outbound webhooks or event subscriptions — reporting is pull-only via the GraphQL
Reporting API.
- No documented delivery receipt, retry or deduplication contract for submitted events.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/nextroll-s2s-events"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.