If you upload CSVs to Google Ads weekly, you are leaving signal on the table. The conversion API pushes bookings in near-real-time and changes how Smart Bidding learns. Here is the technical setup.

What the conversion API is

The Google Ads Conversions API (sometimes called Conversion Adjustments API) lets your CRM push conversion events directly to Google Ads via HTTP requests. No CSV uploads, no manual exports, no batching.

Smart Bidding processes these events into its learning model within hours, not days. The campaign can react to high-value conversions much faster.

Why CSV uploads are not enough

CSV uploads happen on whatever cadence you set. Most clinics do weekly. That means a high-value patient who booked on Monday does not get reported to Google Ads until Sunday at earliest. Smart Bidding spent the rest of the week not knowing.

For low-volume accounts (under 100 conversions a month), this lag matters a lot. Every signal counts. The conversion API closes the lag.

The technical stack

Three pieces:

  1. CRM webhook. The CRM fires a webhook when a lead status changes (e.g. "qualified," "booked," "showed up"). The webhook sends event data to a small middleware.
  2. Middleware. A simple serverless function (Cloudflare Workers, Vercel functions, Google Cloud Run) that receives the CRM event, formats it as a Google Ads API conversion event, signs it with the Google Ads developer token, and POSTs to the API.
  3. Google Ads conversion action. A predefined conversion action in Google Ads that accepts the API event with the right structure.

The event structure

Each conversion API call includes:

The GCLID is the critical field. Without it, Google Ads cannot attribute the conversion back to the right click.

The GCLID capture problem

Your landing page must capture the GCLID from the URL and store it with the lead in the CRM. Most clinic landing pages do not do this by default.

The fix is a small JavaScript snippet on the landing page that reads the GCLID from the URL, stores it in a hidden form field, and passes it to the CRM when the form is submitted. About 10 lines of code.

Common pitfalls

Sending conversions older than 90 days. Google Ads rejects them. Set the CRM to only push events from the last 90 days.

Double counting. If you push the same conversion event multiple times with the same GCLID, you will inflate numbers. Use the order_id field to deduplicate.

Missing currency code. Without it, Google Ads cannot value the conversion correctly. Especially important for accounts running multi-currency.

The result

For Dubai healthcare accounts we have set this up on, the impact within 30 days:

The point

CSV upload is the bottleneck for most Dubai healthcare Google Ads accounts. The conversion API removes the bottleneck. Setup time: 6-12 hours. Permanent improvement: significant. Worth it for any account spending over AED 8,000 a month.


Written by Youssef Hajri, Founder of Access One. Access One is the first Healthcare Google Partner in the UAE. We run Google Ads for clinics, home healthcare and salons in Dubai. Get in touch.