Koddi

Datafly Signal sends conversions to Koddi’s commerce-media platform server-to-server through the Event Collection conversion beacon, matched to earlier impression and click beacons by the user GUID.

Why route Koddi 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 Koddi 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.
  • One consent decision governs every destination. Koddi 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

Get your client details

Koddi provides your beacon subdomain (the part before .koddi.io) and your client_name.

Use one user GUID everywhere

Signal sends the Signal visitor ID without hyphens as user_guid. Your impression and click beacons must send the same GUID.

Match item IDs to your feed

Each purchased item is a bidder; the item ID must be the bidder ID in the feed Koddi holds.

Configure in Signal

Configuration Fields

FieldRequiredDescription
client_subdomainYesYour Koddi beacon subdomain, the part before .koddi.io (e.g. enter ‘acme’ for acme.koddi.io). Provided by your Koddi onboarding team.
client_nameYesThe client_name string Koddi assigned to your account. Sent in the body of every conversion event. Provided by your Koddi team.
api_keyNoNot used: Koddi documents no authentication for the conversion beacon; the subdomain and client_name identify you. Retained so existing configurations still load.

Management UI Setup

  1. Go to Integrations > Add Integration > Koddi.
  2. Choose a preset: Default (default), Retail (ecommerce), Travel (travel).
  3. Fill in the fields above and click Save.

Request format

One conversion per request. Koddi documents no authentication for the beacon.

POST https://{client_subdomain}.koddi.io/event-collection/beacon/conversion
{
 "attributes": {
  "hashed_email": "huC55WwXzE0SOH4ZSbhQU/vnO8POWhGIcTqdMAzGEz0=",
  "hashed_phone": "nhkZrXijT9Z6hL+88v6hQHQGVRe+oy6Skkdxw/kuVGI="
 },
 "bidders": [
  {
   "base_price": 120,
   "bidder": "SKU_1",
   "count": 2,
   "total_price": 240
  },
  {
   "base_price": 19.99,
   "bidder": "SKU_2",
   "count": 1,
   "total_price": 19.99
  }
 ],
 "client_name": "Your Client Name",
 "conversion_source": "purchase",
 "culture": "en-GB",
 "currency": "GBP",
 "domain": "shop.example.co.uk",
 "transaction_id": "ORD-1001",
 "unixtime": 1758500000,
 "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",
 "user_guid": "3f2b8c1e9d4a4e7b8a612c5d9e0f1a7b",
 "user_ip": "203.0.113.9"
}

Event Mapping

Signal eventVendor eventPresets
purchasepurchaseDefault, Retail, Travel
booking_completedbookingTravel

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 and phone are sent only as Base64-encoded SHA-256 hashes (attributes.hashed_email, attributes.hashed_phone), as Koddi documents. IP address and user agent are sent for fraud detection; Koddi deletes the IP within 48 hours.

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

Troubleshooting

ProblemSolution
Events dropped in SignalThe order has no items, currency or locale; Koddi requires all three.

Blueprint

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

See also