Easy, Automated, Accurate Offline Conversion Import to Google Ads

By Josef Vesely | 11 min read

Hi. I’m Josef, Head of Marketing here at Dataddo, and in this article, I am going to talk about the methods for automating offline conversion imports (OCI).

Why automate import of conversion data to Google Ads?

The key to optimizing spend in Google Ads is importing reliable data on recent conversions as soon as possible. If import of data is delayed, optimization of your ad spend will be, too; if the data imported is unreliable, you’ll waste money showing ads to the wrong prospects. 

Speed and reliability are very hard to achieve when uploading data manually, so I’m going to talk about the ways in which upload can be automated.

Click to skip down.


The Pitfalls of Manual Offline Conversion Imports

Interestingly, Google, on its page about offline conversion imports, uses the manual import method to illustrate the benefit of OCI.

Offline conversion imports

This kind of makes sense, because I believe that most marketers, when they start experimenting with offline conversion imports, manually upload conversion data to a Google Sheet, standardize the format, and then import the data to Google Ads.

But, while this method is direct (and free), it's fraught with potential errors and inefficiencies. Here are some of the main reasons why:

  • If you import fresh data only once a week, like in Google’s example, your bids could be off-target for days, potentially resulting in wasted spend—especially in case of seasonal or time-sensitive campaigns. This is arguably the biggest pitfall.
  • Manually standardizing data is a major time-sucker and delicate balancing act. Any mistake can give Google Ads the wrong idea.
  • Even if you have a workaround for the above two problems, you’ll still be wasting time on repetitive manual work.

The more data you import manually, and the more campaigns you run, the more glaring these inefficiencies will become.


Method #1: Native Integrations

I see two main options for automating imports via native integrations. I’ve tried both:

  1. Option#1: If you use Google BigQuery, you can configure it to automatically populate a Google Sheet with new data, and then configure Google Ads to periodically pull data from the sheet. (Frankly speaking, I am not sure if this works with Google storages other than BigQuery).
  2. Option #2: Both Salesforce and HubSpot support automatic export of CRM data directly to Google Ads (at the time of writing, HubSpot’s integration is in the beta phase).

Option #1: For Google Storage Users

Overall, this is a better solution than manual import. But, still, it’s not that great, because it requires a lot of moving parts, not to mention knowledge of SQL.

Configuring all these parts to work correctly together took me a lot of time (days) and didn’t yield the results I wanted. So, I won’t go through all the steps to get it to work, and I’ll instead tell you what didn’t work.

When setting up a Google Sheet to receive data from BigQuery, for example, you must have at least three tabs:

  • A tab to preview the data from BigQuery
  • A tab where the data from the preview can be extracted
  • A tab where all the extracted data can be format-unified for import

Already, this is a lot of moving parts.

Offline conversion imports using Google SheetsA minimum of three tabs is necessary to automate import from BigQuery

Weirdly, the columns in my sheet would sometimes get moved around for no apparent reason.

Also, the connection between Sheets and Google Ads would sometimes break. And, since there is no notification system in this arrangement, I would have to find out the hard way. (Actually, it’s possible to write a script in Google Ads to send you an email, but this requires additional time and skill).

By the same token, whenever conversion values deviated from the norm (most of the time due to a data collection error), I’d usually find out long after money had already been wasted.

Finally, there is no observability with this option, so the best I could do was hope that everything would work correctly.

I’d lose sleep over all this at night, wondering whether we might be targeting not-so-qualified prospects on the other side of the globe.

So, yes, you can do this, but I personally don’t recommend it for the reasons stated.


Option #2: For Salesforce and HubSpot Users

Connecting Salesforce or HubSpot to Google Ads natively probably works well for cases where all the important conversion data is entered into the CRM only after a customer has made a purchase.

But for companies like Dataddo whose CRMs collect lots of information about leads as they mature—for example, in case of scoring—these integrations may not work at all. Why?

When I tried the native HubSpot-Google Ads integration, it didn’t work because every time one of our leads moved to a higher scoring stage, it would be counted as a new lead, resulting in completely skewed numbers. Salesforce may be a different story, but I didn't have the chance to try it out.

Also, Hubspot once updated the integration when we were testing it, so our connection broke and we had to fix it. We can’t blame them, because, naturally, they have to update the integration, and maintaining our connections is not their responsibility! Generally speaking, this is one of the risks of native data integrations.

Finally, just like in option #1, observability is limited with native integrations. For example, there is most certainly no way to centrally monitor for conversion values that stray from the norm. If they do—and they will—you’ll waste spend.

HubSpot & Salesforce

The downsides of options #1 and #2 may seem minor, but they can have impacts that are absolutely business-critical.


Method #2: Automate OCI with a Data Integration Tool

If you don’t use BigQuery, Salesforce, or HubSpot, and you don’t want to use the manual method, you’ll have to automate offline conversion imports with a data integration tool. In this section, we will talk about doing it with Zapier vs. Dataddo. (Yeah, I work for Dataddo, so I may be a little partial, but I’ll try to be objective.)


Option #1: Zapier

Zapier, an event-based integration tool, is another common solution for automating offline conversion imports.

Zapier is pretty simple to set up, and can transfer conversion data from your CRM to Google Ads in real time. This is great for ensuring that the right prospects are targeted punctually.

While Zapier does not offer traditional "monitoring" in the sense that observability platforms do, its logs and email error notifications let users know when and why a “Zap” (their term for integration) fails. This essentially solves the observability problem of native integrations.

Honeslty, I think Zapier is a fine tool for automating offline conversion imports. But, in general, isolated event transfers are the most basic type of data integration. So, if your conversions involve complex data that needs extensive pre-processing or if data from multiple sources needs to be merged before import, you’ll have to use a more comprehensive data integration tool that can import data in batches.

And if your organization needs other types of data integrations, you’ll have to hire a comprehensive data integration tool anyway, whose functionality probably overlaps with Zapier’s.

Aside from notifications, Zapier doesn’t offer any mechanisms to ensure the quality of the data you’re importing to Google Ads.


Option #2: Dataddo

I use Dataddo to automate offline conversion imports, not just because I work here, but because it’s the easiest solution I’ve found (believe me—if I thought another tool could do better, I’d use it). Based on my experience, it offers clear advantages over event-based integration tools like Zapier.

Dataddo can connect just about any database or CRM directly to Google Ads, with syncs up to every 5 minutes. And mapping the fields is super easy via the platform’s no-code interface. This is why clients of ours, like Livesport, are using it as well.

Let me just show you how it works instead of rambling on.

*To do this, you’ll need read permissions in the source database or CRM, and manager/admin rights in Google Ads (including permission to alter conversions).


Step #1: If Necessary, Create a Conversion Action

In order for your conversion action to show up in the Dataddo app, you’ll first have to create it in Google Ads. If you’ve made it this far, you likely know your way around Google Ads and have already completed this step. In case not, go into Google Ads and create a new conversion action.

Select Import -> Manual import using API or uploads. For this example, I’ll select Track conversions from clicks.

Create new conversion Google Ads

Continue setup on the next page. For this example, we’ll use the settings below.

Offline conversion imports #4Create new conversion Google Ads #2

Once you’ve reached this screen👇your conversion should be visible in Dataddo.

Conversion created Google Ads


Step #2: Configure Google Ads as a Data Destination in Dataddo

If you’re not already a customer, sign up for a free Dataddo trial.

Once you’re in the platform, configure Google Ads as a destination. To do this, on the main destination screen, connect your account and select the conversion you’ve created in Google Ads (in this example, test_API_conversion).

Dataddo create destination


Step #3: Configure Your Data Source in Dataddo

If your source is a data warehouse (in our case, Google BigQuery), select it from our portfolio of connectors and map the relevant columns in your warehouse to their equivalents in Google Ads.

Any sensitive data like email identifiers can also be hashed on the configuration screen. 

Then, you’ll simply set your sync schedule and finalize the connection between your database and Google Ads.

No joke—it’s that easy. 

Dataddo create data warehouse source

If your source is a CRM, the process is very similar. 

*In order for a direct CRM connection to work, you need to have a unique identifier in both the CRM and Google Ads. But, for most CRMs, this is not a problem.

Dataddo create CRM sourceAny sensitive data like email identifiers can easily be hashed via Dataddo’s UI.

And that’s it! Once you set up your connection, your offline conversion data will start flowing into Google Ads at the first scheduled sync. For me, personally, this played a huge role in optimizing ad spend.

Plus, in contrast to direct integrations or Zapier, Dataddo offers a full suite of data quality features that ensures that any offline conversion data imported to Google Ads is accurate—automatic format harmonization, configurable notifications, no-code troubleshooting tools, trigger-based filters, and management of all data connections from a single screen.

Lastly, it supports all types of data integration—ETL, ELT, reverse ETL, database replication, and even event-based integration. So, if your organization ever wants to integrate data in ways other than this, you’ll need a tool like Dataddo anyway.

Enjoy trouble-free offline conversion importing!



Connect All Your Data with Dataddo

Just a few quick steps to automate import of offline conversion data to Google Ads, without the hassle.

Start for Free

Category: Tools, tips-tricks, data-strategy