Floodlight Conversions API — Data Manager
Send Floodlight conversions for Campaign Manager 360, Display & Video 360, and Search Ads 360 through the selected advertiser's Floodlight configuration. Create this destination separately from the original Floodlight destination and complete Data Manager authorization and migration.
Setup
- Create Floodlight Conversions API — Data Manager and connect your Google account.
- Select the profile and advertiser. The advertiser must have a Floodlight configuration and your account must have access.
- Create a connection, select Floodlight Conversions, and map each row's Floodlight activity ID and event fields.
- Enable and run the connection when ready to upload.
Hashing and normalization
- For raw
hashed_email,hashed_phone_number, or address name fields, enable Apply hashing (SHA256). - Email is lowercased and all whitespace is removed. For
gmail.comandgooglemail.com, dots and plus suffixes before@are removed; other domains retain dots and plus tags. - Phones require an international country code and are normalized to E.164 before hashing.
- Names are trimmed, lowercased, and stripped of punctuation; letters, numbers, and whitespace are retained.
- Already-hashed input must be normalized upstream and supplied as a 64-character SHA256 hexadecimal hash with Source values are already hashed selected.
- Country codes are uppercased. Mobile device IDs are raw UUIDs, normalized to lowercase, and are not hashed. Do not hash transaction IDs, click IDs, or other matching IDs.
See Identifier Hashing and Normalization.
Floodlight Conversions contract
| Field | Mapping |
|---|---|
floodlight_activity_id | Required Floodlight activity ID for the selected configuration |
timestamp_micros | Required timestamp string with timezone, such as 2026-10-05T13:00:00Z; despite its name, this field takes an ISO 8601 timestamp, not an integer |
transaction_id | Required stable unique event transaction ID |
quantity | Required numeric string, such as "1" |
value, currency_code | Optional numeric value and currency such as USD |
gclid, dclid, match_id, impression_id, mobile_device_id | Provide at least one supported ad identifier; mobile device IDs must be unhashed UUIDs |
custom_variable.type, custom_variable.value | Optional custom variable, using a type such as U1 |
ad_user_data_consent, ad_personalization_consent | Optional consent values: GRANTED or DENIED |
Hashed email, phone, and address data can supplement the ad identifier. Contact data alone is insufficient. See Google's Floodlight identifier requirements.
If supplying an address, map all four of address_info.hashed_first_name, address_info.hashed_last_name, address_info.country_code, and address_info.postal_code. Hash raw first and last names.
The boolean privacy fields limit_ad_tracking, child_directed_treatment, non_personalized_ad, and treatment_for_underage are supported. A true value sets ad-personalization consent to denied.
Migrating legacy fields
Use a stable unique event identifier for transaction_id. A legacy ordinal, particularly a constant such as 1, is not an equivalent transaction ID. Reuse the same transaction ID when referring to the same event; do not generate a new one on each sync.
Legacy fields without supported equivalents, including address city/state/street mappings, must be removed from the new connection. Populated unsupported fields cause actionable mapping errors rather than being silently discarded. See Google's Floodlight field mappings.
Upload results
Extract sends at most 2,000 events and 10 distinct Floodlight activities per request and routes each event to its own Floodlight activity. A request ID means accepted for processing. Review immediate errors in Extract and follow Data Manager diagnostics for delayed processing results.