Posts under category google-ads-api

When I try to run app with Google.Ads.GoogleAds nuget package on MacOS with M1 silicon I get the following error :

Unhandled exception. System.IO.FileNotFoundException: Error loading native library. Not found in any of the possible locations: .../libgrpc_csharp_ext.arm64.dylib

Cannot really find where to obtain libgrpc_csharp_ext.arm64.dylib or where can I find source for it and how to compile.

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}, ...}  ]}