Using S2S tracking with Google Ads

This article covers how to set up FunnelFlux to send conversion data to Google Ads using their API and "gclid" click tracking parameter.

Please note this integration is in beta, and note the following limitations:

  1. If you have multiple accounts, you will need to make a separate traffic source in FunnelFlux per account so that you can set different account IDs in the custom scenario config
  2. Google Ads does not allow pushing conversion data until at least 6 hours post-click. So there is a minimum delay of 6 hours before a conversion will appear in the Google Ads UI, though it will have the correct conversion time there.

Getting the Google Ads Info You Need

Firstly, go to make a new traffic source in FunnelFlux Pro. Type in the name field and pick the Google Ads template.

Now navigate to the conversion tracking tab. You should see this:

So, we need to get a few pieces of info:

  • Our Google Ads account ID
  • A refresh token (will generate later)
  • A conversion action ID
  • Optionally, a manager account ID -- you will need this if you are using a manager account where the ad account is a sub-account of the user you're logging in as (you'll usually know quite clearly if this is your situation).

Google Ads Account ID

Log into your Google Ads account, and from here find the ad account ID.

Generally it will be up in the selection menu:

It will be a 10 digit number like above. Put it in your custom scenario config, without the hyphens.

Above you can see I have a manager account, and it shows the manager account ID, which is the optional ID I might need.

You can access the accounts list at

Conversion Action ID

This one is quite annoying to source, honestly!

For this, you need to make a new conversion action for your ad account that is purposed for offline conversion uploads, and then get its ID.

Under Tools & Settings, click the conversions section:

Make sure you have selected the correct ad account from the drop down menu when you access this section - as conversion actions are specific to each ad account.

Click the [+New Conversion Action] button to make a new conversion action > choose the following options:

On the next step, pick a basic conversion action type and give it a name:

Once added, click the goal's settings > conversion action settings.

Here you can modify the goal settings to have a default revenue of 0 and allow dynamic revenue:

If this goal is specifically for opt-ins or some event where you'd only ever have ONE per user, you may want to select the "One" option under count, rather than "Every".

Click Done > Save and Continue.

On the final page click Done as there is no further setup to do.

Now, we need the conversion action ID for your custom scenario config. It's not stated clearly in the table, so we need to get it from the URL.

Click your conversion action's name (the blue text) to go to it's details, like below, where you can get the ctId value from the address bar, like so:

As above, my conversion action ID is 6755237517.

Refresh token

This is generated by our Google App.

To source this, go to the settings section in FunnelFlux > integrations. Here you can go through our authentication flow to give our app access to your ad account, and generate the needed token:

Click this, pick the relevant Google Account to sign in with, then click continue to approve access:

Once you continue, you will be redirected to a page where our integration provides a refresh token value:

Copy the full refresh token value and use that in the custom scenario config.

Now you should have all the values you need!

How the Integration Works

Firstly, our traffic source template has our external ID renamed to gclid with a blank placeholder, as below:

Because of this, when you generate tracking links, we will NOT append a gclid value (we don't want to as Google automatically adds this to click URLs), but if one is passed we will capture it as the external click ID parameter.

So, when users click ads, we capture that click ID, and when conversions happen, we can pass that click ID along with other data like the account ID, conversion action ID etc., to a conversion queue.

We then store a log of conversion data on our side and each hour a job runs that checks for conversions where the initial click time is >6 hours ago. If it is, we try to send it to your Google Ad account using all the data provided.

Note that we store your account IDs and corresponding refresh tokens separately from the conversion data, and its updated/checked when conversions happen.

Thus, if you ever need to update the refresh token you can do so, and eventually, it will process older conversions that may have been bouncing. However if the account ID is wrong at the time of conversion, you will need to ask us for help there, as it will be stuck forever in queue and unable to process.

Any other questions? Just reach out!

Was this article helpful?