Posts tagged with google-ads-api

I am not that experienced with working with the Google dashboards, and the last of couple of days I have been struggling a lot with an issue. I am not sure if this is even possible and how, but reading a lot of documentation left me blurry.

Background: We place a cookiebanner and cookies using Google Tag Manager (GTM) on our website. At this moment we load the 'Google Analytics - Universal Analytics' using GTM. We collect anominized data using GA, and the analytics data is showing up in our GA dashboard and is working perfectly. So far, so good.

Challenge: Now our marketing team wants to use Google Ads to draw people to our website. They also want to track conversion using Google Analytics combined with Google Ads. In the settings of Google Ads, the GA and Google Ads data is linked. According to the GDPR we need to explicitly ask permission to our users to process the data in this way (Targeting/remarketing). Using GTM we now implemented a cookie banner on our website, in which we ask consent about processing the data for marketing purposes. Is it possible to couple this consent question using GTM to enable/disable the link between our anominized GA data and Google Ads? If so, how?

If there are better practice solutions for my issue, I would like to hear :)

Thanks!

Hope you are safe and good for this pandemic time. I am developing some functional to fetch data from google ads using google-ads-node. But for now I met one issue.

Error: 3 INVALID_ARGUMENT: Invalid customer ID '... .... ...'. 

However it is set correctly on ads account. Please understand me messy picture. The code I used like this.

const auth = await authenticateGoogle(`keys/${process.env.GOOGLE_YT3_API_CREDENTIAL_PATH}`, 'installed');   const client = new GoogleAdsClient({     access_token: auth.credentials.access_token,     developer_token: process.env.DEV_TOKEN,     parseResults: true,   });   const service = client.getService("GoogleAdsService", { useStreaming: true });   const request = new SearchGoogleAdsStreamRequest();   request.setQuery(`     SELECT       campaign.resource_name,       metrics.impressions,       segments.date     FROM        campaign     WHERE        segments.date BETWEEN "2019-01-01" AND "2020-01-01"   `);   request.setCustomerId(process.env.CUSTOMER_ID);   const call = service.searchStream(request);     const chunks = [];     call.on("error", err => reject(err));     call.on("data", (chunk) => chunks.push(chunk));     call.on("end", () => resolve(chunks)); 

Would you help me how I can figure out this issue please? Thank you.

Can you spot any issues with this page? There are meant to be skyscraper and leader banners throughout this article, but for some reason it's not displaying.

Any quick spots that I may have missed?

https://universitybusiness.co.uk/people-policy-politics/office-for-students-announces-details-of-nss-review/

Below is the Google Console report for the first ad slot:

When I test this query in the delivery tools, it just continually runs a loading gif.

I am currently in the process of creating an overview of ad spent per landing page/destination url.
We are using several campaign types:

  • Shopping
  • (Responsive) Search Ads
  • Dynamic Search Ads

I am struggling to get a report per landingpage for each campaign type. We have multiple Customer Ids and I would need data for all Customer Ids. When looking at the Google Ads API documentation I think I would need these two reports to get all I need

Ideally, the data would be uploaded to a BigQuery dataset.

What I have tried:
I have set up a BigQuery Data Transfer (https://cloud.google.com/bigquery-transfer/docs/adwords-transfer). This contains a lot of reports but not the two reports listed above.

I have tried a Google Ads script, but my knowledge of that is too little to write a script that woudl give the same/similar results as the two reports listed above. Next to that I would need help getting this data in my BigQuery project.

We do this sort of thing: https://developers.google.com/google-ads/api/docs/samples/generate-forecast-metrics

and the results we get are radically different from what we see using the Google Ads web UI, given precisely the same parameters. The API call always gives a lower number of clicks, by a factor of up to about 2x.

Also: We don't see any of the KeywordPlans, KeywordPlanAdGroups, or KeywordPlanCampaigns that we create programmatically in the UI. This is a real pity, as it would really help to debug things.