Elementor Pro Google Ads conversion tracking flow: Google Ad click captures GCLID, Elementor form submission, Google Sheets row, Google Ads offline conversion upload

Elementor Pro + Google Ads Conversion Tracking via Google Sheets

This guide is for Elementor Pro sites running Google Ads where the goal is to upload actual sale values, not form fills, as conversions. It walks through the exact setup for capturing the Google Click ID (plus wbraid and gbraid for iOS traffic), writing it to a Google Sheet alongside the form data, and exporting the completed conversions as a CSV ready for Google Ads upload. By the end you will have a working pipeline from ad click to Smart Bidding optimisation - without paying for a CRM.

How it works

A visitor clicks one of your Google Ads. They land on the site with ?gclid=... (or ?wbraid=... or ?gbraid=... for iOS) in the URL. SheetLink’s frontend script reads those parameters into a 90-day cookie before the visitor even sees your form. When they submit your Elementor Pro form, SheetLink hooks into the submission, pulls the click ID from the cookie, and writes a row to your Google Sheet alongside the form fields and four blank columns: Conversion Name, Conversion Value, Conversion Time, and Conversion Currency. When you (or your client) closes the deal, you fill in those columns. Then in WordPress you click Export CSV, and the resulting file imports cleanly into Google Ads under Tools -> Conversions -> Uploads.

Click IDSourceWhen it applies
GCLID?gclid=...Standard Google Ads click
wbraid?wbraid=...iOS web-to-app conversion (ATT-restricted)
gbraid?gbraid=...iOS in-app conversion (ATT-restricted)

Plus utm_source, utm_medium, utm_campaign, utm_term, and utm_content. The wbraid and gbraid parameters matter because iOS 14.5+ traffic running under App Tracking Transparency does not produce a GCLID at all - if you only capture GCLID, your iOS conversions are silently lost.

Prerequisites

  • SheetLink Forms plugin (free on WordPress.org)
  • Elementor Pro installed with at least one form already set up
  • A Google Sheet connected to that form via SheetLink
  • A Google Ads account with offline conversion tracking enabled (Tools -> Conversions -> New conversion action -> Import -> Other data sources)

Setup

  1. Install SheetLink and connect your Google Sheet. Follow the setup guide to create your first sync rule and deploy the Apps Script webhook to your Sheet.
  2. Open SheetLink -> Google Ads Conversions in your WordPress admin sidebar.
  3. Enable the feature for your Elementor Pro rule. Set the Conversion Name (the action name as configured in your Google Ads account), pick the Conversion Currency, and select the timezone matching your Google Ads account.
  4. Run the one-time Apps Script setup. The page shows your per-rule export token; copy it into your existing Apps Script project as a Script Property named SHEETLINK_ADS_TOKEN. Then paste in the helper file from assets/apps-script/google-ads-helper.gs (shipped with the plugin) and re-deploy the script.
  5. Submit a test form entry. A new row should appear in your Sheet with the captured GCLID and four blank conversion columns.
  6. When a deal closes, fill in Conversion Name, Conversion Value, and Conversion Time on that row. The optional installable trigger from the helper file auto-fills Conversion Time when you enter a value.
  7. Click Export CSV on the SheetLink admin page. Upload the resulting file to Google Ads under Tools -> Conversions -> Uploads.

Plugin-specific notes

Elementor Pro form submissions fire via AJAX. SheetLink’s UTM cookie is set to a 90-day TTL specifically to ensure the click ID captured on page load is still available when the async submission completes - no extra configuration needed on the Elementor side. If you have multiple forms on the same page, each submission carries its own row; the cookie is shared, so the click ID is consistent.

Frequently asked questions

Does this work with Elementor Pro’s multi-step forms? Yes. The capture hook fires only on final submission, so partial steps never produce a row. The click ID captured on initial page load persists in the 90-day cookie across the entire stepped flow.

What if my visitor is on iOS and there’s no GCLID? This is exactly why SheetLink also captures wbraid and gbraid. iOS Safari under App Tracking Transparency does not produce a GCLID; Google Ads sends wbraid (web-to-app) or gbraid (in-app) instead. The CSV export uses GCLID first and falls back to wbraid then gbraid - so iOS conversions are recorded the same way.

How long do I have to fill in the conversion value? Google Ads accepts offline conversions within 90 days of the original click. SheetLink’s CSV export filters out rows older than 90 days automatically so you never upload an expired conversion. The UTM cookie is also 90 days for the same reason.

Ready to try it?

SheetLink Forms is free on WordPress.org. The Google Ads conversion feature is included at no extra charge.