A Definitive Guide to Using Offline Data to Optimise your PPC Campaigns

One of the most difficult and overlooked areas of PPC management is utilising offline data to optimise your paid search campaigns.

I’ve audited hundreds of paid search campaigns, and I’ve probably only seen this been done effectively once.

For most accounts, this really is an untapped goldmine that can be exploited to generate significantly better-paid search performance.

There are several different ways in which integrating your offline systems with PPC can be useful: 

  • You can determine which leads convert into an MQL (marketing qualified lead), an SQL (sales qualified lead), and a closed sale, and their respective values.
  • For fashion brands where as much as 50% of orders are returned, you can import this data into Adwords to work out your true ROI.
  • Using real-time data for measuring ‘inventory’ (available members of staff in a call centre, vacant rooms in a hotel) and using this to inform bidding decisions.

Determining which leads have converted offline & which items have been returned

Determining which leads have converted into sales offline can be a very powerful tool, as not all leads are generated equally.

In most accounts where we have integrated a client’s CRM system to their Adwords account, we tend to see the ’80/20′ rule – where 20% of the keywords generate 80% of the leads, and 20% of these leads generate 80% of the sales.

So if you were only tracking leads, you’d only get half the picture. You would see that you’ve generated 39 leads, 3 sales, and £104,000 in revenue, but you wouldn’t know which keywords actually generated the leads.

Worst still, you would make conclusions and decisions based on limited information: for example, you’d see that the keyword generating the most leads is “PPC Management”, and may decide to distribute a greater proportion of the budget towards this keyword, whilst it’s actually the keyword “Enterprise PPC Agency” that’s generating the most revenue, by far.

By using offline tracking and linking your CRM with AdWords, you can start seeing the full customer journey. So, you’d be able to see that even though the keyword “PPC Management” is generating the highest number of leads, the revenue-per-lead is just £500 compared to the keyword “Enterprise PPC Agency”, where the revenue-per-lead is £13,140.

You’d see that the leads being generated from the keyword “PPC Services” are not generating any revenue of profit, and that you should stop bidding on this keyword.

Finally, you’d see that the keyword “Enterprise PPC Agency” is generating the highest converting leads and the largest amount of revenue, so you’d distribute more budget to this keyword.

Depending on how long your average sales cycle is, there are two main ways that you can use offline tracking to integrate data. If the length of your sales cycle is less than 90 days, use the ‘Google Click ID (GCID)’ method. This is preferable, as it allows you to actually integrate the data into Adwords and add a conversion column for offline sales.

If your sales cycle is over 90 days, however, then you can’t import the data back into Google Ads as the cookie will have expired, but you can get a keyword-level data spreadsheet that you can use to optimise your ads.

The GCID Method (for sales cycles shorter than 90 days)

The GCID method of offline tracking uses something called a ‘Google Click ID’, a piece of code that is tagged onto the end of your URL by Google when you have auto-tagging enabled.

It will usually look something like this:


Each time somebody clicks on your ad, a new one of these is generated that is unique to that specific session, and Google retains the data for which ad was clicked on as well as what keyword triggered the advert.

These GCID codes will be stored alongside the user’s information, and then, for the leads which have converted (offline), you can upload this code, and Google with match the code to the keyword and ads associated with the conversion, and log this information alongside the conversion within Google Ads.

This means that you’ll end up with a complete set of data for your ads: you’ll know which keywords and ads are associated with conversions, as well as a complete record of clicks, cost, and cost/conversion. This means you’ll now be able to track which online searches and ads resulted in offline sales.

Here’s a diagram from Google that explains how the whole process works:

To store the Google Click ID within your CRM, you’ll need to add a piece of code that will add what is known as a ‘hidden form field’ into your contact form.

At this moment in time, your website might have a contact form consisting of fields to collect the name, email address, and phone number of each visitor. The ‘hidden form field’ code will add an additional field called Google Click ID to your contact form, which won’t be visible to users browsing your website.

A piece of code on your website will then enter the unique Google Click ID into this hidden field automatically, and when a user submits their contact details, the user’s unique GCID will be submitted with the rest of their contact information.

So, in your CRM system, you should see something like this:

Name: John Smith

Email: John.Smith@gmail.com

Telephone: 0800 907 8275

Google Click ID: CIqb48_N084CFcGdGwodh-oC9w

Once your sales team has followed up the lead and closed the sale, you then upload this GCID code back into Adwords (for the closed leads only), along with the value of the deal.

Google will then match the code to the adverts and keywords that triggered the click, and then attribute a conversion along with the conversion value.

Setting up offline tracking

I’ve already covered how you can set up offline tracking in this article here, so I won’t cover that in this article. If you’re interested in getting set up, simply run through steps 1-8 in the “How to set up offline tracking” section of that article.

Uploading conversions back into Adwords

If you’re using Salesforce as your CRM system, then you can directly integrate into Adwords into your software with just a few clicks by following the instructions here.

If you’re using any other CRM system, you’ll need to manually upload conversions once per month using a spreadsheet. Once again, this is a topic that I’ve covered in quite a bit of detail in this post here, so I won’t cover that now. If you’re interested in learning how to set up offline tracking, follow steps 1-6 in the “Uploading offline conversions back into Adwords” section of that article, which will take you through preparing a spreadsheet for import and the steps that you’ll need to take to then upload it to Adwords.

Automating uploading

If you’re not using Salesforce and have a large volume of offline conversions that need importing on a daily basis from several different campaigns, it might make sense to build your own integration.

Provided that your CRM system has an API, you can write a basic programme to pass on the relevant information (such as the GCID and the value of the deal) from your CRM to Adwords through their API. If this sounds like something you’d like to do, a good developer with a basic knowledge of Google Ads should be able to help you out.

The Parameter Method (for sales cycles longer than 90 days)

When your sales cycles last longer than 90 days, the cookies provided by Google will time out, meaning you’ll need to use a different method to track data and align conversions with your CRM system.

The key here is to tag your URLs with parameters so that the relevant campaign and keyword are passed through into your CRM system. You will then be able to review which deals closed within your CRM system on a monthly basis, and use this data to optimise your campaigns.

We would suggest that you use the following parameters:


To use the above snippet, replace the phrase “campaign name goes here” with the campaign name that the ad is contained in. Google will dynamically replace {keyword} with the relevant keyword.

This then needs to be passed into your CRM system, alongside the clients’ information (which will be provided when they submit a form on your website). Some of the better-known CRM systems have their own built-in partner integrations, so it’s worth searching for an add-on before speaking to a developer.

For example, you can use the CloudAmp plug-in from the Salesforce Exchange to push this information directly into your Salesforce campaigns.

If you’re not able to find a plug-in, a web developer will be able to help you pass URL parameters into your CRM system.

Using offline inventory data to inform optimisation decisions

One of the more interesting sides of integrating offline data is to use it to inform bidding decisions.

Here are a few examples of how you might want to use offline data to inform optimisation decisions: 

  • Increasing bids to generate more leads when a call centre has several operatives that are not busy, and decreasing bids when there are operatives that are off work (i.e. unavailable).
  • Pausing products that are out of stock on a website, or when a category only has a few remaining products in-stock.
  • Increasing bids when you have vacant hotel rooms to fill, or pausing ads when you have no vacancy.
  • Inserting stock numbers into your Google Ads to create a sense of urgency and increase conversion rates.

Integrating this data into Adwords is slightly more complicated than the first two points ( for which there are direct pre-built integrations from Adwords).

To integrate offline data like stock inventory or hotel room inventory, you’ll need to use either the ‘Adwords REST API’ or Adwords Scripts to create your own custom solution.

To help you out, Google has open-sourced an inventory-based management script that you can build on top of by working alongside a developer.

This can either be achieved using your own in-house developers, or working with an agency like Clicteq that offers bespoke Google Ads applications.

The diagram below explains how this process works:

The script starts by pulling out inventory details from the database, as well as stats from Google Ads reports.

It then uploads these values to the spreadsheet for the matching product codes on the spreadsheet. This causes the spreadsheet to re-evaluate the formulas, and product rules are updated.

The script then downloads the updated product rules from the spreadsheet, and updates the ads and bids based on those rules.

The ad customiser feed is updated with updated placeholder values from both the database and spreadsheet so that the ads get displayed with new values. Each of these interactions is explained in detail below.


Integrating your offline data with Google ads is a great untapped opportunity for the vast majority of advertisers.

Every lead-generation business that runs ads can benefit massively from tracking the leads that convert into MQLs, SQLSs, and closed sales, and matching this data to their Google Ads data to allow them to focus their budget on the 20% of the leads that generate 80% of their business.

The same methodology can be applied to e-commerce businesses to track which orders are returned, allowing advertisers in markets where return rates are high (e.g. in retail markets) to accurately track the return-on-investment from their advertising spend.

Things really get exciting when you start looking at how you can integrate real-time business data into your ads to make bidding decisions and display stock levels.

This is particularly effective in industries where you have a fixed amount of inventory, such as retail (fixed amount of stock) and travel (fixed number of rooms in a hotel, or seats on a flight), and the finance/insurance industry where advertisers use large call centres (in which case, available operators are the inventory), where you can use technology to weight bids to move stock, or decrease bids or pause ads when inventory is low.


wesley parker
About wesley parker

Wesley is Founder and CEO at Clicteq. He currently manages a £6 Mil Adwords portfolio across a range of different sectors. He regulally features in leading search publications such as Econsultancy, Campaign Magazine and Search Engine Land. You can follow him on Twitter or connect with him on Linkedin

Leave a Reply

Your email address will not be published. Required fields are marked *