Lotame

Datafly Signal delivers first-party behavior data to Lotame server-to-server using the Behavior Collection Pixel (BCP) on crwdcntrl.net — the same collection surface the browser Lightning Tag and Lotame’s mobile SDKs use, fired from your server instead of the page. This keeps audience building working when client-side tags are blocked, and keeps the collection call out of the browser.

Prerequisites

Before configuring Lotame in Signal you need an active Lotame (Spherical) account and your numeric Client ID.

Get your Lotame Client ID

  1. Sign in to the Lotame platform.
  2. Your Client ID is the numeric account identifier Lotame assigned to you. It is the value in the c= segment of any of your existing BCP pixel URLs (for example https://bcp.crwdcntrl.net/5/c=2587/... → Client ID is 2587).
  3. If you are unsure, ask your Lotame Customer Success Manager to confirm it.

Define your behaviors

Lotame collection works by recording behaviors against a profile. Two kinds are supported:

  • Predefined behavior IDs — created in the Lotame UI and referenced by their numeric ID.
  • Rule-builder behaviorskey=value interest/action signals (the Lightning Tag ruleBuilder) that Lotame maps to audiences via your data-collection rules.

Set up the behaviors and rules you want to populate in Lotame before enabling delivery, so incoming signals match real audience definitions.

Lotame’s BCP authenticates by Client ID alone — there is no API key or secret token. The Client ID scopes every behavior to your account, so double-check it before going live.

Configure in Signal

Configuration Fields

FieldRequiredDescription
client_idYesYour numeric Lotame Client ID (the c= value in your BCP pixel URL).

Management UI Setup

  1. Go to Integrations > Add Integration > Lotame.
  2. Choose the Default variant.
  3. Enter your client_id.
  4. Select consent categories — typically advertising or marketing.
  5. Click Save.

API Endpoint

GET https://bcp.crwdcntrl.net/5/c={client_id}/<segment>/<segment>/...

The BCP does not use a standard ?key=value&key=value query string. Parameters are slash-delimited key=value path segments appended after the /5/ servlet, and the request is an HTTP GET. For example, a page view for Panorama ID pano123 against client 2587:

GET https://bcp.crwdcntrl.net/5/c=2587/pid=pano123/e=web/pv=y/url=https%3A%2F%2Fexample.com%2F/rand=839201

Signal builds this request for you from the field mappings in your blueprint.

Identity Signals

Lotame ties every behavior to a profile. Signal supplies identity in priority order:

SignalSegmentDescription
Panorama IDpidLotame’s first-party cross-domain identifier, resolved client-side by lt.js / sync.js and carried on the Signal event as vendor_ids.lotame_panorama_id. This is the strongest signal.
Device IDuid + uaFor mobile / app traffic: the device advertising ID (uid) and its type (ua = GAID, IDFA, or SHA1).
IP addressX-Forwarded-For headerForwarded so Lotame can resolve or extend identity server-side when no Panorama ID is present.
User-AgentUser-Agent headerForwarded with every request for the same fallback resolution.

The Panorama ID is a first-party identifier — no third-party cookie is required. When it is present on the event, match quality is highest. Without it, Lotame falls back to IP + User-Agent resolution, which is lower fidelity.

Event Mapping

Default preset

Signal eventLotame behaviorSegments sent
pagePage viewpv=y, url, ref
Product ViewedProduct-interest behaviorint (category), act (product ID)
Product AddedAdd-to-cart behaviorint (category), act (product ID)
Order CompletedPurchase behaviorint (category), act (order ID)
Signed UpRegistration behaviorint (method)

Behaviors not listed are dropped (defaults.action: drop). To send predefined Lotame behavior IDs, add a mapping to the b segment in the integration’s Field Mappings; to send rule-builder behaviors, map to int, seg, act, or med.

Example: Product Viewed

Datafly.js call:

datafly.track("Product Viewed", {
  product_id: "SKU-A",
  category: "running-shoes"
});

Lotame BCP request sent by Signal:

GET https://bcp.crwdcntrl.net/5/c=2587/pid=pano123/e=web/int=running-shoes/act=SKU-A/rand=559218

(pid is supplied automatically from vendor_ids.lotame_panorama_id; IP and User-Agent are forwarded as headers.)

Testing

Trigger an event

Browse your site (or call datafly.track(...) directly) to generate a behavior, then check Signal’s Event Debugger to confirm the outbound BCP request was built with the correct c= and pid= segments.

Confirm in Lotame

  1. In the Lotame platform, open Audience / Behavior reporting.
  2. Look for the behavior you sent populating against the expected audience or rule.
  3. New profiles can take a short time to appear; validate with a known Panorama ID first.
⚠️

The BCP returns a 200 with a 1x1 GIF on success and gives no machine-readable error body for collection calls. A 200 means the request was accepted, not that the behavior matched a rule — always verify in Lotame’s reporting that the behavior populated an audience.

Troubleshooting

ProblemSolution
Behaviors not appearing in LotameConfirm the client_id is exactly your Lotame account ID. A wrong value silently writes to the wrong (or no) account with a 200 response.
Profiles not matching audiencesEnsure the behavior IDs (b) or rule-builder keys (int, seg, act) you send match behaviors/rules defined in the Lotame UI. Undefined behaviors are ignored.
Low match / missing profilesMake sure the Panorama ID is reaching the event as vendor_ids.lotame_panorama_id. Without it, Lotame falls back to IP + User-Agent resolution.
Events droppedOnly events in the preset are forwarded (defaults.action: drop). Add a mapping for any additional event you want to collect.