IndiSell Docs Dashboard →
Grow revenue

Set up Google Ads conversions

Where to find your conversion send_to labels, and how to connect offline conversions so COD and recovered orders count.

Google Ads is where COD tracking matters most — a COD order completes days after the click, long after a browser pixel has closed. IndiSell handles both the browser tag and the offline upload that credits COD orders when they're actually paid.

There are two ways to send conversions. Pick one as your delivery mode (both on double-counts):

  • Browser tag — fires in the shopper's browser on order success. Simplest.
  • Offline upload (recommended for COD) — IndiSell uploads each paid order by click id via Google's Data Manager API. This is how COD and recovered orders count with real values, and how cancelled COD is retracted.

Part A — Browser conversion actions

You paste each action's send_to value from Google Ads.

1
Open Goals → Conversions

In Google Ads, go to Goals → Conversions → Summary and click + New conversion actionWebsite.

2
Create a "Purchase" action

Create it manually. Category Purchase, value Use different values (IndiSell sends the real order value).

3
Get the send_to

Open the action → Tag setup → Use Google Tag Manager (or "Install manually"). You'll see a Conversion ID (AW-XXXXXXXXX) and a Conversion label. The send_to is AW-XXXXXXXXX/AbC_dEfGh — the two joined with a slash.

4
Paste into IndiSell

Conversions → Google Ads → 1 · Purchase. This one is required.

IndiSell fieldCreate it in Ads asNotes
1 · Purchase (required)Primary conversion, category PurchaseFires on order success with the order value
2 · Begin checkout (optional)Secondary actionFires at the payment step — phone already verified, so enhanced data attaches every time
3 · Payment selected (optional)Secondary actionThe deepest pre-purchase signal for Smart Bidding
⚠️
Create Begin-checkout and Payment-selected as <strong>Secondary</strong> actions in Google Ads. If they're Primary, Ads counts them as sales and inflates your conversions.
💡
Leave <strong>Enhanced conversions</strong> on. Because the phone is OTP-verified at checkout, hashed email/phone attaches to nearly every order — far better match rates than cookies.

Part B — Offline conversions (COD & recovered orders)

This uploads each paid order by gclid so COD counts. It needs Google's Data Manager API enabled and an OAuth refresh token.

1
Get your Customer ID

Top-right of Google Ads, the 10-digit number 123-456-7890 (enter it without dashes). If you use a manager account, note the Manager (MCC) ID too.

2
Enable the Data Manager API

In Google Cloud Console, create/pick a project → APIs & Services → Enable APIs → enable Data Manager API.

3
Create an OAuth client

APIs & Services → Credentials → Create credentials → OAuth client ID (type: Web/Desktop). Copy the Client ID and Client secret.

4
Get a refresh token

Authorise the client with scope https://www.googleapis.com/auth/datamanager (not the old adwords scope) and copy the refresh token.

5
Create a conversion action for uploads

Make a conversion action for offline data and copy its Conversion action ID (the numeric id).

Paste these into Conversions → Google Ads → Offline conversions:

IndiSell fieldFrom
Customer IDGoogle Ads, top-right (no dashes)
Manager (MCC) ID — optionalYour manager account
OAuth client ID / secretGoogle Cloud → Credentials
OAuth refresh tokenYour OAuth authorisation (scope datamanager)
Conversion action IDThe offline conversion action

Then click Test connection. When it passes, go to Delivery mode and switch Server-side upload on (turn the browser tag off to avoid double-counting).

ℹ️
COD conversions upload when the order is <strong>paid</strong> (delivered), so allow for the delivery lag before they show in Ads. If a COD order is cancelled, IndiSell retracts the conversion automatically.