Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Missing and wrong data from Google Ads Data Transfer

Hello,

We are using Google Ads Data Transfer to export campaign information and gclid data from Google Ads to BigQuery.

We manage multiple accounts, and since July 22, 2022, we've noticed discrepancies in some accounts where data is missing or reported revenue and clicks are significantly lower compared to Google Ads reports. In certain accounts, a lot of data is missing, while others have partial missing data.

I've attached a screenshot comparing clicks and costs between Google Ads and Data Transfer Data. Additionally, I’ve included the SQL query we use to modify the data from the transfer. We have not changed the report configuration.

We’re uncertain whether the issue lies on our end, with Google Ads, or with BigQuery. Is anyone else experiencing similar problems?

Thank you!

Account with less missing dataAccount with less missing dataAccount with missing significant amount of dataAccount with missing significant amount of data

 

 

select
    c.externalcustomerid as google_ads_customer_id,
    cus.accountdescriptivename,
    cus.accountcurrencycode as currency_code,
    c.campaignid as campaign_id,
    c.campaignname as campaign_name,
    c.campaignstatus as campaign_status,
    cs.date,
    sum(cs.impressions) as impressions,
    sum(cs.interactions) as interactions,
    sum(cs.clicks) as clicks,
    (sum(cs.cost) / 1000000) as cost
from
    (
        select *
        from `Campaign_X`
    ) c
left join
    (
        select *
        from `CampaignBasicStats_X`
    ) cs
    on (
        c.campaignid = cs.campaignid
        and cs._data_date between date("2023-07-25") and date_add(
            current_date(), interval - 1 day
        )
    )
left join
    (
        select
            externalcustomerid,
            accountdescriptivename,
            accountcurrencycode,
        from
            (
                select *
                from `Customer_X`
            ) cs
        qualify
            row_number() over (
                partition by externalcustomerid order by _data_date desc
            )
            = 1
    ) cus
    on c.externalcustomerid = cus.externalcustomerid
where c._data_date = c._latest_date
group by 1, 2, 3, 4, 5, 6, 7, 8

 

 

 

Solved Solved
0 20 2,324
1 ACCEPTED SOLUTION

The issue has been resolved, and as of August 29th, we now have the correct data. To fix historical data, you will need to schedule a backfill in the data transfer

View solution in original post

20 REPLIES 20

Hello,

Thank you for contacting the Google Cloud Community.

The discrepancies you're experiencing between Google Ads Data Transfer and your BigQuery data could stem from various causes. Here's a breakdown of the issue and potential solutions:

  1. Review the Data Transfer configuration for each affected account. Ensure the desired metrics (clicks, cost, impressions) are selected for export.
  2. Google Ads schema for transferred data might have undergone changes. Consult Google Cloud documentation for updates or announcements related to Google Ads data transfer.
  3. Analyze your BigQuery query (provided). While the query looks good at first glance, consider if any filtering or transformations applied in BigQuery might be unintentionally excluding data.Review the WHERE clause and any potential JOIN conditions that might cause data filtering.
  4. If you're using BigQuery data partitioning based on date, ensure partitions are defined and set up correctly. Missing partitions might lead to incomplete data sets.Verify that the _data_date field in your query is referencing the correct partition.
  5. If the issue persists after checking the points mentioned above, consider reaching out to Google Ads support. They might have further insights and solutions specific to your situation.

Regards,
Jai Ade

@jaia any updates from your end?

I also tried running a query from the documentation to show campaign performance, but it doesn't match the data from Google Ads. However, it matches the results from my own query.

SELECT
  c
.customer_id,
  c
.campaign_name,
  c
.campaign_status,
  SUM
(cs.metrics_impressions) AS Impressions,
  SUM
(cs.metrics_interactions) AS Interactions,
 
(SUM(cs.metrics_cost_micros) / 1000000) AS Cost
FROM
 
`DATASET.ads_Campaign_CUSTOMER_ID` c
LEFT JOIN
 
`DATASET.ads_CampaignBasicStats_CUSTOMER_ID` cs
ON
 
(c.campaign_id = cs.campaign_id
 
AND cs._DATA_DATE BETWEEN
  DATE_ADD
(CURRENT_DATE(), INTERVAL -31 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY))
WHERE
  c
._DATA_DATE = c._LATEST_DATE
GROUP BY
 
1, 2, 3
ORDER BY
  Impressions
DESC

I also checked the Data Transfer configuration. We have two data transfers, one for each project, and each data transfer contains multiple accounts with various discrepancies between BQ and Google Ads. I did not find an option to select specific metrics (clicks, cost, impressions) for export, so I assume that all metrics are exported. Additionally, we did not make any changes on July 22nd. Was there any change on the Google Ads Data Transfer side on that date?

We will also contact Google Ads support.

I am having a similar issue, but it is only with Google Demand Gen data, same exact date range, July 22nd 2024 onward. @lubo is your's also with Google Demand Gen data?

@rbetbeder yes, only numbers from Demand Gen campaigns are affected

Any updates?
same issue

Not yet

I tried to download the data directly from the Google Ads API, but both versions v16 (used in Data Transfer) and v17 (the current version) returned the same numbers as the Google Ads UI.

 

+1 We're seeing this same issue

Exactly same issue

Same issue with demand gen and google ads data transfer as above since early July across multiple accounts. As of 8/8/2024, some campaign are no longer included in the data transfer at all.

Google Ads API team recommended reaching out to the GCP Product support team for further assistance.

If you are paying for a higher tier of customer service in GCP, you can try contacting them.

For further context, up until 2024-08-08 Discovery/Demand Gen cost was available in the 

p_ads_CampaignBasicStats_{customerid} table and the 
p_ads_CampaignStats_{customerid} tables - both of which contained correct figures.
Starting on 2024-08-08, cost has been removed from the p_ads_CampaignBasicStats_{customerid} table and while it is still present in the p_ads_CampaignStats_{customerid} table the cost is not correct.

In our case, we have been using the CampaignBasicStats and costs/counts were incorrect for many of our accounts even prior to the 8/8 change.

Same on our end. We do not have recent DemandGen data in CampaignBasicStats. It's available in another table - CampaignStats but we can't switch to CampaignStats because it has discrepancies for other campaigns.

Any update?

Issue solved last week. However, backfill is needed to fix discrepancies.

9/5/24, 3:49 AM

Hi Team,

We appreciate your patience and cooperation while our Engineering Team is working on this issue.

I would like to inform you that I just received an update from the Product Team that the fix submitted by the Product Team to fix this issue is completely rolled out and is in production.

The issue has been resolved, and as of August 29th, we now have the correct data. To fix historical data, you will need to schedule a backfill in the data transfer

Do you know how much data was affected?

I was in contact with Google regarding the issue and after solving it, they told me that the data was affected beggining start of July. 

Upon checking demand generation campaigns with Google Ads panel data, I can see that there is some data missing for as early as February...

Hi @lubo It sounds like the issue you’re encountering could stem from differences in how data is processed between Google Ads and the BigQuery Data Transfer service. Here are a few steps you can take to investigate and potentially resolve the problem:

1. Check for Schema Updates

Google sometimes updates the schemas or the way data is exported via their Data Transfer service. Make sure to review the latest documentation for Google Ads Data Transfer to see if there have been any recent changes.

2. Compare Account Settings

Double-check the settings for the accounts showing discrepancies. Differences in currency, time zone, or other configurations can sometimes impact the way data is exported.

3. Validate the Source Tables

If possible, review the data directly in the source tables (e.g., CampaignStats or Customer) within BigQuery. This can help confirm if the missing values are already absent at the source or if the issue occurs during transfer.

4. Review Transfer Logs

Take a look at the transfer logs for the Data Transfer service in BigQuery. If any errors occurred during the data transfer process, you should be able to spot them there.

5. Explore Alternative Tools for Validation

If the issue persists, consider using external tools to help consolidate and validate your data. For example, platforms like Windsor.ai can connect your Google Ads data directly to BigQuery with greater flexibility. This could help you determine whether the issue is with the current transfer process or the original data source.

Hope this can help with the issue!

This is an unhelpful and generic response with no understanding of the specific situation. As already discussed this was confirmed as a bug by Google and resolved (by Google) 3 months ago