OrcLink
← Help Center

Ad platforms

Campaign Manager 360 / SA360 offline conversions

Send outcomes to Campaign Manager 360 / SA360 offline conversions through the approval gate, matched by click id or hashed email and phone.

Built, not yet tested liveBuilt. Not yet tested against a live Campaign Manager 360 / SA360 offline conversions account.

Live: shipped in OrcLink's production release before this one. Built, not yet tested live: built and tested with sample data, not yet run against a live account of the vendor. Coming soon: listed, not available to connect yet.

How to connect

  • Conversions > Destinations > Campaign Manager 360 / SA360 offline conversions: CM360 user profile ID; Floodlight configuration ID; Activity map: OrcLink event name = Floodlight activity ID, separated by ;; Advertiser currency (optional; a value is sent only in this currency, else 0).
  • Then send a test event and check Conversions > Audit log.

What OrcLink reads

  • Ad cost: upload a CSV in Conversions > Ad costs (platform column "cm360"). Cost days are the ad account's calendar days (in the ad account's time zone); conversion and outcome days are UTC days. Near midnight, a cost and its conversions can be on different days.

What OrcLink writes back

  • Conversions for the stages you set to relay (Outcomes > Stages), each with its click id and the hashed email and phone the platform matches on. Each batch waits for approval when approval is on (the default).

Never stored

  • Raw email or phone: only hashes leave OrcLink.
  • Page paths, page titles, referrers and IP addresses: never sent to an ad platform.

Known limits

  • Uses your Google sign-in with Campaign Manager 360 access (Connect Google Ads, then Add Campaign Manager 360 access; then save this destination). Search Ads 360 conversions are Floodlight activities: map them here. Matching is by Google click id (gclid) only. Map each OrcLink event name to a Floodlight activity ID; in HIPAA mode and for health workspaces map the generic labels (event_1, ...), and those conversions are marked for reporting only, not targeting. A value is sent only when the conversion is in the advertiser currency set here; otherwise the value is 0 (CM360 requires one). No test mode: the test button uses a made-up click id, which CM360 refuses for the row; that answer still shows the sign-in, profile and activity work.

Status: built from Google's reference (conversions.batchinsert, Conversion; read 2026-10-05). Not checked against a live account.

Search Ads 360 conversions are Floodlight activities: inserting the conversion into the activity in CM360 makes it count for SA360 too.

What OrcLink sends: the Floodlight configuration and activity IDs, the Google click id (gclid), the time, the event id as ordinal (dedupe), quantity 1, and the value: CM360 requires one, so OrcLink sends the conversion's value when its currency is the advertiser currency you set, and 0 otherwise (CM360 has no currency field, so a value in another currency is never sent; 0 carries no amount). Nothing else: no email, no phone, no name.

  • Matching: gclid only. The display click id (dclid) is classified but not stored yet (it needs a database column).
  • Activity map: purchase=1234567; event_1=2345678. In HIPAA mode and for health workspaces the names are the generic labels, and those conversions are sent with limitAdTracking (used for reporting, not targeting).

Owner actions (once)

  1. Google Cloud project of the Google Ads sign-in: enable the Campaign Manager 360 API.
  2. OAuth consent screen: add the scope https://www.googleapis.com/auth/ddmconversions. It is asked for only when a workspace clicks Add Campaign Manager 360 access; the normal Google Ads sign-in is unchanged. Google may require verification for this scope.
  3. No new environment variable: the sign-in uses GOOGLE_ADS_CLIENT_ID / GOOGLE_ADS_CLIENT_SECRET.

Workspace setup

  1. Conversions > Destinations > Campaign Manager 360: click Add Campaign Manager 360 access and sign in with a Google user that has a CM360 user profile with conversion-upload rights.
  2. Enter the CM360 user profile ID, the Floodlight configuration ID, the activity map, and (optional) the advertiser currency. Save: the destination is linked to the sign-in.

Smoke test (owner): Send test event with event_test mapped to a test activity. CM360 has no test mode; the test uses a made-up gclid, so CM360 answers with a row error for the click. The expected answer reads "Test reached Campaign Manager 360; the row was refused as expected for a test click id." and does not mark the destination as erroring. A sign-in, permission or Floodlight error is shown as a real error. If CM360 ever accepts the made-up click, it is a real conversion (event_test, value 0): the card says so before the click. Then upload one real conversion with a real gclid and check Floodlight reports.

Ordinal: CM360 needs the event id as its ordinal (dedupe). An event id that looks like an email, a phone number or a URL is never sent: a stage relay then uses OrcLink's own keyed stage id instead; any other such conversion is skipped with a fixed reason ("CM360: the event id cannot be sent ..."). UNVERIFIED: CM360's answer to a second insert with the same ordinal after a timeout (dedupe or error); check it once in the smoke test by sending the same test twice.

Cost: CSV upload only (platform cm360), see csv-cost.md.

Counting a conversion twice

A workspace that has both a Google Ads destination and a CM360 destination can count one gclid conversion twice when its Google Ads account also imports Floodlight conversions from CM360 (or uses the SA360 / Floodlight conversion as a Google Ads conversion action): OrcLink uploads it to Google Ads directly and to the Floodlight activity, and Google Ads then sees both. Use one of them for bidding: either mark the imported Floodlight conversion action as secondary (not used for bidding) in Google Ads, or leave the OrcLink Google Ads conversion action secondary and bid on the Floodlight one. Do not make both primary.