Google CM360 - Floodlights

What Is Campaign Manager 360 - Floodlights?

Campaign Manager 360 (CM360) is a comprehensive advertising management platform developed by Google. It offers advertisers a centralized solution for planning, executing, and measuring digital marketing campaigns across multiple channels and devices. With features like audience targeting, ad creative management, and real-time reporting, CM360 empowers marketers to optimize their campaigns for maximum effectiveness and return on investment.


Product Type: Advertising

Integration Type: Starter Kit & ID Sync

Event Source Type: Web and Mobile Browser

Event Scope: Conversion Events Only


Capabilities

  • Sends server-side conversion events to CM360 Floodlights.
  • Supports conversion attribution using a single identifier per integration (e.g., gclid, dclid, mobileDeviceId, or matchId).
  • Supports custom Floodlight variables.

Considerations

  • This starter kit sends conversions through the CM360 Offline Conversions API. Refer to See Additional Campaign Manager 360 - Floodlights Documentation.
  • Only one identifier can be used at a time per CM360 - Floodlights integration.

Limitations

  • Geolocation data is not supported by this integration.

Getting Started - From Your CM360 Account

Prerequisites

  1. You must have a Campaign Manager 360 account. See Advertisers/Agencies for signup information.
  2. Your Campaign Manager 360 account must be enabled for API Access. Most accounts have this enabled by default; if you're not sure, contact your account representative or the Campaign Manager 360 support team for assistance.
  3. You must have a user profile with access to this account. Have your Campaign Manager 360 account administrator create a user profile associated with this account.
  4. Check user profile permissions in the Campaign Manager 360 UI. These control what the user profile can access from the API. There are no separate API permissions.
    1. Manage user access
    2. NOTE: You will need to grab your user profile ID for the CM360 playbook in MetaRouter

Generate credentials

All requests you make to the Campaign Manager 360 API must be authorized. For a brief overview of authorization, read about how to authorize and identify your application to Google.

The following instructions guide you through the process of creating an OAuth 2.0 client ID to use with the installed application flow. For instructions on generating credentials for use with the service account flow, refer to the Service Accounts guide.

  1. Follow the steps to configure a Google API Console project.
  2. Open the Credentials page in the API Console.
  3. Click CREATE CREDENTIALS > OAuth client ID.
    1. If you hadn't configured an OAuth consent screen for this project previously, you'll be directed to do so now. Click CONFIGURE CONSENT SCREEN.
    2. Select the user type and click CREATE.
    3. Fill out the initial form. You can edit this later if needed. Click Save when done.
    4. Navigate back to Credentials > CREATE CREDENTIALS > OAuth client ID to continue.
  4. Select Desktop app as the application type, give it a name, then click Create.

When done, you'll be presented with an OAuth 2.0 client ID and client secret, which you can download in JSON format and save for later use.


Floodlight Activities

  • Floodlight activities correspond to specific events you’d like to track, such as conversions on your website or adding users to audience lists.
    • For this integration, Floodlight ActivityID and the corresponding Floodlight ConfigurationID are required
    • To find Configuration ID, use the Advertiser ID
    • To find Activity ID, go to Advertiser level > Floodlights to find the Floodlight Activity ID within the dashboard. You will assign a Floodlight Activity ID to every event within integration.

Getting Started - From Your MetaRouter Account

Adding a CM360 - Floodlights integration.

From the integration library, add a “CM360 - Floodlights” integration. Then, fill out the Connection Parameters:

Connection ParameterDescription
CREDENTIALS_JSONPaste in credentials in JSON format.
CONFIG_IDUse your Advertiser ID.
PROFILE_IDFrom https://support.google.com/campaignmanager/answer/6098287?hl=en, use the Profile ID associated with your user.
PROFILE_ID_STRThis is the same profile ID string as mentioned above under PROFILE_ID.

Adding a Google Gtag Sync

To gather the gclid value, you must add a Google Gtag sync. You can skip this step if you’ve already set up the Google Gtag Sync.

  1. From the Pipelines page, find the pipeline associated with the web property you’d like to add a sync to. Hover over the three dot dropdown and select “Build AJS File.”
  2. In the Identity Syncs section, select the Google Gtag sync.
  3. Fill out the following fields:
    1. GTAG.js Tag ID - The Tag ID in GA4, also known as the Measurement ID, can be found in Data Streams. Alternatively, you can find it in your GTAG settings. Examples of Tag IDs include GT-XXXXXXXXX, G-XXXXXXXXX, and AW-XXXXXXXXX. For more information on locating the GTAG.js Tag ID, please refer to this guide
    2. Destination IDs - Allows the sync to connect and direct events to the correct Google product. For Google Ads, the destination ID is the same as the conversion tracking ID, for example **AW-**98765.
      1. ["AW-000000","G-000000"]
    3. Floodlight Advertiser ID Object: The Floodlight Advertiser ID Object parameter is used to define a list of Floodlight activities that should trigger conversion events for an anonymous user. This parameter is a JSON array where each element is an object containing details for a specific AdvertiserID.
      1. [
             {
               activityTag: 'shopping',
               advertiserID: 'DC-0000001',
               group: 'group-1',
               matchIDEnumKey: 'u53',
             },
             {
               activityTag: 'checkout',
               advertiserID: 'DC-0000002',
               group: 'group-2',
               matchIDEnumKey: 'u53',
             },
        ]
      2. You can find the details need above within CM360 > Advertisers > Floodlight Activities:
        • activityTag - Use the "Activity tag string"
        • advertiserID - Use your CM350 advertiser ID
        • group - Use "group tag string"
        • matchIDEnumKey - This field can be mapped to any variable, but it is typically set to a custom Floodlight variable, such as a u variable, i.e u53. For guidance on configuring this field for your specific use case, please contact your Campaign Manager 360 representative. This field is not required unless specified by your use case.
      3. Behavior:
        • When the syncInjector initializes for the first time for an anonymous user, it will immediately trigger a conversion event for each Floodlight object in the array using the corresponding activityTag. This client-side triggering creates a reference in CM360 linking the user’s anonymousID to the activityID. Later, when server-to-server events are configured, they will be properly associated with the same user based on this reference.
      4. Configuration Reference:
        • For additional details and to verify your Floodlight settings, refer to the CM360 interface under Advertisers > Floodlight Activities.
    4. Cookie Lifetime (in days) - 45 days default
    5. Fire on Re-sync - Re-syncs for an updated identifier when an Identify call is made.
    6. Send MetaRouterSync to GA4 - Sends a MetaRouterSync event to GA4 when the sync is loaded on the page.
    7. Enable Google Consent Mode - If enabled, consent categories 'ad _storage, 'ad_user_data', 'ad _personalization', 'analytics_storage' will be sent to Google when user is opt-in or opt -out
    8. Advanced Consent Mode Type (when consent mode is enabled) - If consent mode is enabled, the consent mode will be set to advanced' when this is on, and 'basic' when this is off
  4. Scroll down and click the Save and Build File button.
  5. Deploy your AJS file to propagate changes to your web property.

Event Mappings

MetaRouter provides all of the event mappings that CM360 integrations typically require. You may add custom events, parameters or mappings in accordance with CM360’s API documentation.

Global

Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.

Output KeyDescriptionExpected Input
floodlightConfigurationId RequiredString: Floodlight configuration used by the specified activity.Enrichment – $$CONFIG_ID$$
kind RequiredString: Identifies what kind of resource this is.Enrichment – dfareporting#conversion
timestampMicros RequiredString: The timestamp of the conversion, in microseconds since the Unix epoch.Expression – convert timestamp/originalTimestamp RFC3339 to epoch micros
Expression Name: Click, Mobile Device and Match ID(s) RequiredObject: Outputs exactly one identifier: gclid, dclid, mobileDeviceId, or matchId.Expression – selects available identifier from event context
ordinal RequiredString: The deduplication identifier  associated with the conversion.messageId
customVariablesArray: Custom Floodlight variables (for example, u1).Expression – builds custom variables from event context

Event Specific

page

Output KeyDescriptionExpected Input
floodlightActivityId RequiredString: Floodlight Activity ID that corresponds with this event.Enrichment – ADD_FLOODLIGHT_ACTIVITY_ID_HERE
value RequiredFloat: Revenue amount for the conversion.Enrichment – 0
quantity RequiredString: Number of items associated with the conversion.Enrichment – 1

Product Added

Output KeyDescriptionExpected Input
floodlightActivityId RequiredString: Floodlight Activity ID that corresponds with this event.Enrichment – ADD_FLOODLIGHT_ACTIVITY_ID_HERE
value RequiredNumber: Revenue amount for the conversion.Expression – properties.price * (properties.quantity or 1)
quantity RequiredString: Number of items associated with the conversion.Enrichment – 1

Order Completed

Output KeyDescriptionExpected Input
floodlightActivityId RequiredString: Floodlight Activity ID that corresponds with this event.Enrichment – ADD_FLOODLIGHT_ACTIVITY_ID_HERE
value RequiredNumber: Revenue amount for the conversion.properties.total
quantity RequiredString: Number of items associated with the conversion.Enrichment – 1


Required & Recommended Identifiers

An identifier must be mapped to CM360 in order for successful user matching to occur. Without an identifier, any events sent to CM360 may not be reflected in reporting. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.

Please note, you may only use one identifier at a time per CM360 - Floodlights integration. A single CM360 - Floodlights integration cannot use more than one identifier at a time.

Attribute

Example

Sync Injector Required?

gclid Required, unless using a different identifier as listedbelow.

&gclid=CjwKCAjwt-OwBhBnEiwAgwzrUkyNMRwtorgWNStUyWMG50WbzKNMWAFeWOHtq5q0cEbAHYKX7a4hNBoCwugQAvD_BwE

Yes


Additional Identifiers

One of the following identifiers can be alternatively mapped to CM360 if using the gclid is not an option. If using these identifiers, they must be added as Global or Event Specific mappings.

Please note that only one identifier can be used at a time.

AttributeDescriptionExample
dclidConversions can be attributed to ad clicks through the use of Display Click IDs (DCLIDs). If you are connecting to CM360 for DV360, then you will need to use dclid as the main identifier. See more here.&dclid=CKDdz-fE_IUDFYtTCQkdbyMOPg
matchIDConversions can be attributed through your own first-party identifier that has been synced with Google using the  [match_id](https://support.google.com/campaignmanager/answer/7554821#custom&zippy=%2Ccustom-fields) feature in Floodlight.130161d0-8fee-4167-aa4d-d151eed27c6b
mobileDeviceIDConversions can be directly attributed to mobile or Connected TV devices through the use of advertising device identifiers. See supported identifiers here.EB2B2675-AE94-44FB-836B-9CB3E038B11C

Additional CM360 - Floodlights Documentation

OAuth 2.0

CM360 Conversion API

CM360 Conversion API Reference