Skip to content

How Signals works

Every signal follows the same shape regardless of where it starts. Data arrives from a source, identifiers are normalized and hashed, the event is mapped to what the destination expects, and it is delivered.

How data arrives depends on the source.

Source classHow data arrives
Website and e-commerceA tag on your site. Either NeoTag, one tag that serves multiple platforms, or dhPixel, which replaces a single platform’s base pixel. See Website tag setup.
AppYour app posts events to the address issued to you, or existing Firebase events are forwarded through Google Tag Manager.
CRM, file, database, warehouseSignals pulls your data frequently on a schedule, so changes reach your destinations without you doing anything.
Lead generationLead form submissions pulled frequently from the ad platform.
APIYou push events to the Datahash API as they occur.
Messaging adsConversations on a connected Facebook Page, through the Click to WhatsApp, Click to Messenger and Click to Instagram Ads sources.

Identifiers are normalized to a consistent shape and then hashed with SHA-256. Normalization matters more than it sounds. A hash only matches if both sides formatted the value identically before hashing, so Person@Example.com and person@example.com produce completely different hashes and only one of them will match.

Hash personal data at source wherever you can. On website and app sources this happens for you in the browser or in the app, so the raw value never leaves the device. On batch sources, send values already hashed if your systems can do it. Where they cannot, Signals normalizes and hashes on the way through, in memory, and the raw value is never written to disk.

See Identifier normalization & hashing for the per field rules, and Apply SHA-256 hashing to PII for how to hash at source.

On Field Mapping you tell Signals which column or field in your data corresponds to each field the destination expects. Studio filters the dropdown to columns whose data type is eligible, so you cannot map a date into a currency field.

Signals transforms the mapped event into the shape each destination’s conversion API expects and delivers it. One source event fans out to every destination you have connected for that use case, and each delivery counts as its own signal.

Fields a destination does not accept are dropped during that transformation rather than causing the event to fail.

An event that fails validation is dropped. The rest of the batch is processed and delivered normally, so one malformed row does not cost you the whole upload.

Because a dropped event does not produce an error you will see, the practical consequence is that your numbers are quietly lower than they should be. Event validation & schema covers what makes an event valid, and Data quality covers how to spot the gap.