Posts tagged with google-ads-data-hub

I am looking for a way to get Firebase working in an app built in React Native Expo, so that it gives out some sort of data for Google Ads to use and count as a conversion metric, when someone installs our iOS app by way of clicking on a Google Ad served to them.

It's shocking that Google hasn't made this easier, but there is currently no way of measuring Google Ads Conversions for an App Install campaign, without using Firebase.

I have been working with Google Ads support over the past month, and they have been unable to help me. So according to Google Ads support, the only way to count conversion metrics for iOS installs is to use Firebase embedded in our app to get some data out of the app once it's installed by an end user. Or some other 3rd party tool that they are unable to recommend or support.

Looking at embedding Firebase into how our app is currently architected in React Native Expo seems like a huge overhaul. Any tips or tricks? Has anyone made this work properly with Google Ads iOS app installs campaigns?

The problem is that there is a significant discrepancy between the spending or amount displayed on the transparency page UI and the information provided by BigQuery. For example, in the specific case where I send the screenshot (Ad: https://adstransparency.google.com/advertiser/AR09575383261467639809/creative/CR03209405000446902273?region=MX&topic=political), it shows a spending range of 6k - 7k MXN, which approximates to 375 USD (since BigQuery does not yet support MXN). However, BigQuery reports a maximum spend (spend_range_max_usd) of 100 USD. Below is the specific response for this ad.

Row, Advertiser, Advertiser_Page, Advertiser_URL, Number_of_Political_Ads, gender_targeting, geo_targeting_included, spend_range_min_usd, spend_range_max_usd,

2
PARTIDO ACCIÓN NACIONAL https://adstransparency.google.com/advertiser/AR09575383261467639809?region=MX&political= https://adstransparency.google.com/advertiser/AR09575383261467639809/creative/CR03209405000446902273?region=MX&topic=political 1 Male, Female, Unknown gender Mexico 0 100

Furthermore, this issue is not limited to this particular ad. All spend responses from BigQuery show the same amount, 100 USD, or the relative to the currency.

I was expecting at least a reasonable currency exchange, or perhaps I'm missing something which is causing all the values to return 100 USD.

I wonder if anyone else has had a similar issue.

#standardSQL SELECT   CS.advertiser_name AS Advertiser,   CONCAT("https://adstransparency.google.com/advertiser/", CS.advertiser_id, "?region=MX&political=") AS Advertiser_Page,   CONCAT("https://adstransparency.google.com/advertiser/", CS.advertiser_id, "/creative/", CS.ad_id, "?region=MX&topic=political") AS Advertiser_Page,   COUNT(1) AS Number_of_Political_Ads,   CS.gender_targeting,   CS.geo_targeting_included,   spend_range_min_usd,   spend_range_max_usd, FROM   bigquery-public-data.google_political_ads.creative_stats AS CS WHERE   REGEXP_CONTAINS(CS.gender_targeting, r"Female")   AND REGEXP_CONTAINS(CS.regions, r"MX") GROUP BY   1,   2,   3,   5,   6,   7,   8 ORDER BY   spend_range_max_usd DESC; 

I leave here the diferent data you can get.

[   {     "name": "ad_id",     "mode": "NULLABLE",     "type": "STRING",     "description": "Unique id for a specific election ad.",     "fields": []   },   {     "name": "ad_url",     "mode": "NULLABLE",     "type": "STRING",     "description": "URL to view the election ad in the election Advertising on Google report.",     "fields": []   },   {     "name": "ad_type",     "mode": "NULLABLE",     "type": "STRING",     "description": "The type of the ad. Can be TEXT VIDEO or IMAGE.",     "fields": []   },   {     "name": "regions",     "mode": "NULLABLE",     "type": "STRING",     "description": "The regions that this ad is verified for or were served in.",     "fields": []   },   {     "name": "advertiser_id",     "mode": "NULLABLE",     "type": "STRING",     "description": "ID of the advertiser who purchased the ad.",     "fields": []   },   {     "name": "advertiser_name",     "mode": "NULLABLE",     "type": "STRING",     "description": "Name of advertiser.",     "fields": []   },   {     "name": "ad_campaigns_list",     "mode": "NULLABLE",     "type": "STRING",     "description": "IDs of all election ad campaigns that included the ad.",     "fields": []   },   {     "name": "date_range_start",     "mode": "NULLABLE",     "type": "DATE",     "description": "First day a election ad ran and had an impression.",     "fields": []   },   {     "name": "date_range_end",     "mode": "NULLABLE",     "type": "DATE",     "description": "Most recent day a election ad ran and had an impression.",     "fields": []   },   {     "name": "num_of_days",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Total number of days a election ad ran and had an impression.",     "fields": []   },   {     "name": "impressions",     "mode": "NULLABLE",     "type": "STRING",     "description": "Number of impressions for the election ad. Impressions are grouped into several buckets ≤ 10k 10k-100k 100k-1M 1M-10M > 10M.",     "fields": []   },   {     "name": "first_served_timestamp",     "mode": "NULLABLE",     "type": "TIMESTAMP",     "description": "The timestamp of the earliest impression for this ad.",     "fields": []   },   {     "name": "last_served_timestamp",     "mode": "NULLABLE",     "type": "TIMESTAMP",     "description": "The timestamp of the most recent impression for this ad.",     "fields": []   },   {     "name": "age_targeting",     "mode": "NULLABLE",     "type": "STRING",     "description": "Age ranges included in the ad's targeting",     "fields": []   },   {     "name": "gender_targeting",     "mode": "NULLABLE",     "type": "STRING",     "description": "Genders included in the ad's targeting.",     "fields": []   },   {     "name": "geo_targeting_included",     "mode": "NULLABLE",     "type": "STRING",     "description": "Geographic locations included in the ad's targeting.",     "fields": []   },   {     "name": "geo_targeting_excluded",     "mode": "NULLABLE",     "type": "STRING",     "description": "Geographic locations excluded in the ad's targeting.",     "fields": []   },   {     "name": "spend_range_min_usd",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in USD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_usd",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in USD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_eur",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in EUR spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_eur",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in EUR spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_inr",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in INR spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_inr",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in INR spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_bgn",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in BGN spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_bgn",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in BGN spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_czk",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in CZK spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_czk",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in CZK spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_dkk",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in DKK spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_dkk",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in DKK spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_huf",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in HUF spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_huf",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in HUF spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_pln",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in PLN spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_pln",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in PLN spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_ron",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in RON spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_ron",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in RON spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_sek",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in SEK spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_sek",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in SEK spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_gbp",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in GBP spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_gbp",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in GBP spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_nzd",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in NZD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_nzd",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in NZD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_ils",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in ILS spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_ils",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in ILS spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_aud",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in AUD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_aud",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in AUD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_twd",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in TWD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_twd",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in TWD spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_brl",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in BRL spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_brl",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in BRL spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_ars",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in ARS spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_ars",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in ARS spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_zar",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in ZAR spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_zar",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in ZAR spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_min_clp",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Lower bound of the amount in CLP spent by the advertiser on the election ad.",     "fields": []   },   {     "name": "spend_range_max_clp",     "mode": "NULLABLE",     "type": "INTEGER",     "description": "Upper bound of the amount in CLP spent by the advertiser on the election ad.",     "fields": []   } ]``` Thanks in advance! 

I need to create a report on asset performance from google ads transfer data in bigquery. The report should be similar to the one in Google Ads UI (under Assets with assets names, campaigns, clicks etc). I have enabled PMAX within the bigquery data transfer and now have views about Assets (e.g. ads_Assets, ads_CampaignAssetStats etc) When I query ads_CampaignAssetStats I see an asset field campaign_asset_asset of format customers/1111111111/assets/111111111111, I would like to somehow get the name of this particular asset, but I cannot find this in any asset related tables.

So either that data is not available in BQ data transfer and I need to get it from the api or I am not searching or understanding the data. Where can I find this data within BQ data transfer tables (if at all?

I have looked through google ads data transfer documentation expecting some more insights into the asset views but it didn't clarify how I can get the names of the assets.

I have browsed through other tables within BQ google ads data transfer but haven't found a way to connect the data.

I am a Facebook ads expert and i've been using the same pixel across mutiple ad accounts for my Roofing clients and I am looking to do the same thing with Google, I am not much knowlegable about google ads but is it possible that we use the same pixel(or GTM) across different ad accounts? The goal is to track the conversion data across different ad accounts which will ultimately help us to drive lower CPL. I hope i can do that. What is your opinion?

I tried Fb ads and i used the same pixel codes and conversion APIs to track the progress using the same pixel data and I am looking to do the same thing with google but i don't know how can i do it

So I'm trying to get raw google ads user data (including events, journeys etc), which i need to send to a Data-Warehouse.

Data From all my sources are send to Google Analytics & then to Data-Warehouse.

What i need is the RAW-Hit/Session level data that Google-Ads Monitor via Campaigns (from my account) to my Data-Warehouse directly, without any intermediate services.

Services like stitch-data does it directly, what all options do we have.

Thank you.