I've been trying to create conversions on Google Ads after implementing small fixes to my site on Netlify. The fixes include changing button colors, adding a new button, etc. So there was no change on the GTM script. However, conversion steps were changed after a successful build on Netlify. I tried to go back to the 3-step-conversion-creation which is the way I used before the fix, I also tried to add a GTAG script to do that. I couldn't find an answer to why it has changed steps on conversion creation, because it doesn't allow me to create conversion via Google Tag Manager. I managed to go back to 3-steps-method before, I had created a new Google Ads account, but I can't use that method this time. Why it has changed? Is it about react or netlify or something else? You can view the screenshots and index.html below:

Before fix:

After fix (Website already has GTAG and GTM):

index.html:

<!DOCTYPE html> <html lang="en"> <head>   <!-- Global site tag (gtag.js) -->   <script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXXXX"></script>   <script>window.dataLayer = window.dataLayer || [];     function gtag() { dataLayer.push(arguments); }     gtag('js', new Date());     gtag('config', 'AW-XXXXXXXXXXX');</script>   <!-- Google Tag Manager -->   <script>(function (w, d, s, l, i) {       w[l] = w[l] || []; w[l].push({         'gtm.start':           new Date().getTime(), event: 'gtm.js'       }); var f = d.getElementsByTagName(s)[0],         j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =           'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);     })(window, document, 'script', 'dataLayer', 'GTM-XXXXXXX');</script>   <!-- End Google Tag Manager -->   <title>Website</title>   <!-- Meta Pixel Code -->   <!-- End Meta Pixel Code --> </head> <body>   <div id="root"></div> </body> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX" height="0" width="0"     style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> </html>

Possible solutions to go back to 3-steps-conversion:

  • Delete BULK_ from the URL and press enter, it will direct there
  • Create a new Google Ads account but it is inconvenient and doesn't makes sense if you have balance, outsource data, etc. in that Google Ads account

Still, I have no idea why it has changed in that fix. It didn't happen on previous updates. I couldn't find any information about this. So I thought it might be related to the code. Thanks in advance.

I want to add open ads to my game that I developed on Unity, but the type 'AppOpenAd' or namespace name could not be found (are you missing a using directive or assembly reference?) I get an [Assembly-CSharp] error. I would be glad if you help.

I'm integrating Google Ads Rest API.I want to pass an array of type UserIdentifier to a function where each object should only have one item only because it is required by this Google Ads API for example:

f([{hashedEmail: "xxxxxx"}, {hashedPhoneNumber: "xxxxxx"}]) // OK f([{hashedEmail: "xxxxxx", hashedPhoneNumber: "xxxxxx"}]) // Not Cool 

This example comes close but I only want to use the keys that are mentioned in Google Ads API UserIdentifier type.

Thanks in advance.

I am trying to retrieve a report from google ads api of a metric over time in hourly increments. Is this possible?

You can select a date range and set the dimensions to hourly, for example:

SELECT   campaign.name,   metrics.impressions, FROM product_group_view WHERE segments.date DURING LAST_30_DAYS   AND metrics.impressions > 0 

Will get the impressions for 30days, but the data is aggregated across the 30days. Can I retrieve it as a time series?

In facebook, they have me?fields=id,name,insights.fields(impressions).breakdowns(aggregate_by_hourly_audience_timezones).time_increment(1)

This breaks the impressions data down into hourly increments for each day in the date range (not aggregated - 24 values regardless of date range).

I've searched throught the documentation for a few days now and can't seem to find what I'm looking for.

Edit: So searching through the last 3 days would produce something like the following output (structure of the data not as relevant):

// based on Dorian's example SELECT   campaign.name,   metrics.clicks,   segments.date,   segments.hour FROM campaign WHERE segments.date DURING LAST_3_DAYS // OUTPUT {"data": [      "2021-03-08": {0: {clicks: 20}, 1: {clicks: 43}, ...} (out to 23 - 1/ hour) ),      "2021-03-09": {0: {clicks: 18}, 1: {clicks: 33}, ...}       "2021-03-10": {0: {clicks: 18}, 1: {clicks: 33}, ...}  ]}

I am looking for collect data from Google ADS API into GCP by using Python scripts and it requires to fill these items for authentication in the google-ads.yaml file:

developer_token: client_id: client_secret: refresh_token: login_customer_id: 

I was able to fill these items by asking people in my company or generating it with google python scripts in GitHub but I need to understand the role of each, the docs seems to be disperse with a long learning path.