Rokt

Datafly Signal sends conversions to Rokt Ads server-to-server through the Rokt Events API, the integration Rokt recommends. The older Conversions API (api.rokt.com/v1/conversions) is deprecated and no longer receives updates.

Why route Rokt through Datafly Signal

  • Conversions survive ad blockers and tracking prevention. A browser tag served from an advertising domain is blocked outright for part of your traffic, and Safari’s ITP shortens the cookies it can set. Signal sends the event from your own server, so what Rokt receives is not filtered by the browser.
  • Personal data is hashed before it leaves your infrastructure. Signal normalises and SHA-256 hashes the identifiers inside your own deployment, so the vendor receives match keys, never the raw values.
  • Click identifiers are captured and replayed. Signal keeps the click ID first-party when the visitor lands and attaches it to the later conversion.
  • One consent decision governs every destination. Rokt is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.
  • No vendor tag on the page. Removing it removes its page weight and its independent access to your visitors.

Prerequisites

Request Events API credentials

Ask your Rokt account manager for an Events API key and secret. They are used for HTTP Basic authentication.

Keep the Rokt click ID

Rokt appends rtid (the Rokt click ID) to the destination URL. Keep it on your landing pages; Signal forwards it as other2 and passbackconversiontrackingid.

Send the customer’s email

Rokt requires an email or its hash on every conversion. Call datafly.identify() with the email at checkout or sign-up; a conversion without one is not sent.

Configure in Signal

Configuration Fields

FieldRequiredDescription
account_idNoNot used by the Rokt Events API, which identifies the account by its API key. Retained so existing configurations still load.
api_keyYesThe Events API key from your Rokt account manager. Used as the username in HTTP Basic authentication.
api_secretYesThe Events API secret from your Rokt account manager. Used as the password in HTTP Basic authentication. Keep this secret.

Management UI Setup

  1. Go to Integrations > Add Integration > Rokt.
  2. Choose a preset: Default (default), Retail (ecommerce), Lead Generation (lead_gen), Subscriptions / SaaS (saas), Insurance (insurance), Travel (travel).
  3. Fill in the fields above and click Save.

Request format

One conversion per request. The visitor (user_identities, user_attributes, ip, device_info) is batch-level, so Signal never merges two visitors’ conversions into one request.

POST https://s2s.us2.mparticle.com/v2/events
{
 "device_info": {
  "http_header_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
 },
 "environment": "production",
 "events": [
  {
   "data": {
    "custom_attributes": {
     "amount": "259.99",
     "confirmationref": "ORD-1001",
     "conversiontype": "purchase",
     "currency": "GBP"
    },
    "custom_event_type": "transaction",
    "event_name": "conversion",
    "source_message_id": "evt-e2-1",
    "timestamp_unixtime_ms": 1758500000123
   },
   "event_type": "custom_event"
  }
 ],
 "integration_attributes": {
  "1277": {
   "passbackconversiontrackingid": "e8335d31-2031-4bff-afec-17ffc1784697"
  }
 },
 "ip": "203.0.113.9",
 "user_attributes": {
  "firstnamesha256": "81f8f6dde88365f3928796ec7aa53f72820b06db8664f5fe76a7eb13e24546a2",
  "lastnamesha256": "799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f",
  "mobilesha256": "983c25606b8b0ac842c0bb1b723f3f600de24cd8a792d6e29a7da88d732af0be"
 },
 "user_identities": {
  "customerid": "crm-user-9",
  "other": "86e0b9e56c17cc4d12387e1949b85053fbe73bc3ce5a1188713a9d300cc6133d",
  "other2": "e8335d31-2031-4bff-afec-17ffc1784697"
 }
}

Event Mapping

Signal eventVendor eventPresets
purchasepurchaseDefault, Retail, Insurance, Travel
sign_upsignupDefault, Retail, Lead Generation, Subscriptions / SaaS
generate_leadleadDefault, Lead Generation, Insurance
trial_startedtrialSubscriptions / SaaS
subscription_startedsubscriptionSubscriptions / SaaS
quote_completedquoteInsurance
booking_completedpurchaseTravel

The vendor event is the conversiontype. Rokt deduplicates on conversiontype plus confirmationref, so use the same values in any Rokt Web SDK integration.

Signal forwards event properties the preset does not map unless the integration’s strict output contract is on. Turn on strict_output_contract for this integration so only the documented fields are sent.

Identity

Email (user_identities.other), phone (user_attributes.mobilesha256, the national number before hashing, as Rokt documents) and first and last name (firstnamesha256, lastnamesha256) are sent only as SHA-256 hashes of the trimmed, lower-cased values. The signed-in user ID is customerid. IP address and user agent are sent unhashed.

Rokt is an advertising destination and requires marketing consent by default.

Known limitations

  • The collector captures rclid but not rtid, Rokt’s default landing parameter (#1461); Signal reads rtid first and falls back to rclid until the collector captures it.

Troubleshooting

ProblemSolution
Conversions dropped in SignalThe visitor has no email: Rokt requires one.
401 from RoktUse the Events API key and secret, not the old rpub/rsec Conversions API pair.

Blueprint

The Rokt blueprint version is 0.7.0. It was last reviewed against the vendor’s documentation on 2026-09-22.

See also