prathamaar
Back to Projects

Offline Conversion Importer

Google Ads
Google Ads APIGoogle SheetsApps ScriptGTM

The Problem

When users click a WhatsApp button from a Google Ads campaign, the conversion journey moves off-platform — into a chat conversation handled by a customer service team. There was no visibility into whether a closed sale came from an ad or not, which meant Smart Bidding was optimising toward clicks, not revenue.

What I Built

A lightweight attribution pipeline that bridges ad click and offline sale — without changing how the CS team works. A unique code is generated at click time, stored in Google Sheets, and automatically injected into the WhatsApp greeting. When a sale closes, the code is matched back to the original session and pushed to Google Ads as an offline conversion event.

How It Works

01
Capture

Ad click generates a unique code

When a user clicks the WhatsApp button from an ad, a unique identifier is generated and stored in Google Sheets — tied to that specific session.

02
Inject

Code is embedded in the greeting

The code is automatically appended to the WhatsApp opening message, so every conversation the CS team receives is already tagged at the point of contact.

03
Match

CS team logs the outcome

After the conversation closes, the CS team records whether a sale occurred alongside the code from the greeting. No extra tools — just a column in their existing sheet.

04
Upload

Conversion pushed to Google Ads

Matched records are formatted and uploaded to Google Ads as offline conversion events, so Smart Bidding can optimise toward actual revenue — not just WhatsApp taps.

Results

Metrics and result screenshot coming soon

Screenshots

Screenshot 1 — coming soon

Screenshot 2 — coming soon

Work with me

Running ads to WhatsApp or phone?

If your conversions happen off-platform — in a chat, a call, or a CRM — and you're flying blind on which ads actually drive revenue, this is solvable. Let's talk.

Get in touch