Campaign Manager 360 Beta

Send your event data from RudderStack to Campaign Manager 360.

Campaign Manager 360 is an ad management platform which optimizes your digital campaigns across websites and mobile. It provides many useful features for ad serving, targeting, verification, and reporting.

RudderStack supports sending the offline conversion events to Campaign Manager 360 by leveraging their Conversions API.

Find the open source code for this destination in the GitHub repository.

Connection compatibility

Destination info
  • Status: Beta
  • Supported sources: Android, iOS , Web, Unity, AMP , Cloud, Warehouse, React Native , Flutter, Cordova, Shopify
  • Refer to it as CAMPAIGN_MANAGER in the Integrations object.

Connection modes
SourceCloud modeDevice modeHybrid mode
AMPsupportednot supportednot supported
Androidsupportednot supportednot supported
Cloudsupportednot supportednot supported
Cordovasupportednot supportednot supported
Fluttersupportednot supportednot supported
iOSsupportednot supportednot supported
React Nativesupportednot supportednot supported
Shopifysupportednot supportednot supported
Unitysupportednot supportednot supported
Warehousesupportednot supportednot supported
Websupportednot supportednot supported
Supported message types
SourceIdentifyPageTrackScreenGroupAlias
Cloud mode
Supported sourcesnot supportednot supportedsupportednot supportednot supportednot supported

Get started

Once you have confirmed that the source platform supports sending events to Campaign Manager 360, follow these steps:

  1. From your RudderStack dashboard, add the source. Then, from the list of destinations, select Campaign Manager 360.
  2. Assign a name to your destination and click Continue.

Connection settings

To successfully configure Campaign Manager 360 as a destination, first authenticate your account by following the below steps:

  1. Click Create Account in the Account Settings section.
  2. From the modal, click the Sign in with Google button.
  3. Choose the required account and grant RudderStack the required permissions.
  4. Click Save to use the specified account:
Google Account authentication

If you have authenticated multiple accounts, you can click Edit Credentials to select or delete any other authenticated account:

warning
RudderStack throws an error if you try to delete an account used by any other connection set up for the same destination.
Google Account authentication

Next, configure the following settings:

  • Profile ID: Enter the user profile ID associated with the request. See the batchinsert and batchupdate methods of the Campaign Manager 360 Conversions API for more information.

  • Limit ad tracking: Toggle on this setting to report a conversion but not target it, thus preventing remarketing.

  • Child directed treatment: Toggle on this setting to allow requests from users under the age of 13 (required for COPPA compliance).

  • Non personalized ad: Toggle on this setting if the conversion is intended for a non-personalized ad.

  • Treatment for underage: Toggle on this setting to allow requests from users under the age of 16 (required for European Union’s GDPR compliance).

  • Enhanced conversions: Toggle on this setting to send enhanced conversions to Campaign Manager 360. If toggled on, you will see the following setting:

    • Hash user identifiers: Hashes user identifiers in your events before sending the data to Campaign Manager 360. RudderStack recommends turning it off if you are already sending hashed data in your events.
  • Consent management settings: This setting lets you associate the cookie consent groups to Campaign Manager 360. Specify the consent management provider from the dropdown and enter the category IDs.

info
You can also pass values for these dashboard settings in the track events. Note that these values will take precedence over the dashboard settings. See the Campaign Manager 360 documentation for more information on these settings.

Track

You can use the track call to capture user events along with the associated properties and send them to Campaign Manager 360.

A sample track call is shown below:

rudderanalytics.track("Product Reviewed", {
  "profileId": 437689,
  "floodlightConfigurationId": "213123123",
  "ordinal": "3",
  "floodlightActivityId": "456543345245",
  "mobileDeviceId": "mobileDeviceId",
  "value": 7,
  "encryptedUserId": "encrepyteduserId"
  "impressionId": "string",
  "limitAdTracking": false,
  "childDirectedTreatment": true,
  "encryptionInfo": {
    "kind": "dfareporting#encryptionInfo",
    "encryptionSource": "AD_SERVING",
    "encryptionEntityId": "3564523",
    "encryptionEntityType": "DCM_ACCOUNT"
  },
  "requestType": "batchinsert"
})

Send enhanced conversions

The Campaign Manager 360 Conversions API supports sending enhanced website tag-based conversions with user identifiers.

To use this feature, you must first accept the Enhanced Conversions Terms of Service for your Floodlight configuration in Campaign Manager 360 by following these steps:

  1. Log in to your Campaign Manager 360 account.
  2. Select the advertiser for which you want to set up the enhanced conversions.
  3. Go to Floodlight > Configuration in the left sidebar and select the checkbox under the Enhanced Conversion section.

To send enhanced conversions to Campaign Manager 360, toggle on the Enhanced conversions setting in the dashboard and set properties.requestType to batchupdate in your track events, as shown:

rudderanalytics.track(
  "Product Reviewed", {
    "profileId": "34245",
    "floodlightConfigurationId": "213123123",
    "ordinal": "string",
    "floodlightActivityId": "456543345245",
    "value": "756",
    "quantity": "455678",
    "gclid": "string",
    "encryptionSource": "AD_SERVING",
    "encryptionEntityId": "3564523",
    "encryptionEntityType": "DCM_ACCOUNT",
    "requestType": "batchupdate"
  }, {
    email: "alex@example.com",
    firstName: "Alex",
    lastName: "Keener",
    address: {
      street: "350 Blue Gum Street",
      city: "New Orleans",
      state: "Louisiana",
      country: "US",
      postalCode: "90009",
    },
  },
);
info

Note that:

  • You must enhance the conversions with user identifiers within 24 hours after they are captured by the online tags.
  • A conversion can have a maximum of five user identifiers.

For security purposes, RudderStack automatically hash-encrypts the user identifiers before sending them to Campaign Manager 360. Make sure to turn off the Hash user identifiers dashboard setting if you are already tracking hashed user data via RudderStack.

Property mappings

The following table lists the event property mappings between RudderStack and Campaign Manager 360:

RudderStack propertyCampaign Manager 360 propertyData type
properties.floodlightActivityId
Required
floodlightActivityIdString
properties.floodlightConfigurationId
Required
floodlightConfigurationIdString
properties.ordinal
Required
ordinalString
properties.quantity
Required
quantityString
timestamp
Required
timestampMicrosTimestamp in ISO 8601 format
properties.profileId
config.profileId
profileIdNumber
properties.encryptedUserIdencryptedUserIdString
properties.encryptedUserIdCandidates[]encryptedUserIdCandidates[]Array
properties.dcliddclidString
properties.gclidgclidString
properties.matchIdmatchIdString
properties.mobileDeviceIdmobileDeviceIdString
warning

Apart from the above-mentioned properties marked as required, you must also send the following:

  • properties.requestType in the conversion event with the value as batchinsert or batchupdate.
  • At least one of the optional fields.

User identifier mappings for enhanced conversions

The following table lists the user identifier mappings between RudderStack and Campaign Manager 360:

RudderStack propertyCampaign Manager 360 property
traits.email
context.traits.email
hashedEmail
traits.phone
context.traits.phone
hashedPhoneNumber
traits.firstName
context.traits.firstName
addressInfo.hashedFirstName
traits.lastName
context.traits.lastName
addressInfo.hashedLastName
traits.street
traits.address.street
context.traits.street
context.traits.address.street
addressInfo.hashedStreetAddress
traits.city
traits.address.city
context.traits.city
context.traits.address.city
addressInfo.city
traits.country
traits.address.country
context.traits.country
context.traits.address.country
addressInfo.countryCode
traits.state
traits.address.state
context.traits.state
context.traits.address.state
addressInfo.state
traits.postalCode
traits.address.postalCode
context.traits.postalCode
context.traits.address.postalCode
addressInfo.postalCode


Questions? Contact us by email or on Slack