Posts under category google-ads-api

my client was told by google that certain of my links are "DISABLED: third_party_redirect_on_landing_page". Two of the links given are:

One of them effectively redirects to another page, but the other does not:

curl -I http://www.texasvistamedicalcenter.org/ HTTP/1.1 301 Moved Permanently ... curl -I https://www.saltlakeregional.org/services-directory/emergency-care HTTP/2 200  ... 

This makes me think that Google probably does not like some other URL linking to this page instead of being put directly in the ad.

My websearch for third_party_redirect_on_landing_page turned up empty handed. How can this be fixed?

Edit:

This the converted curl code it prints this error it's relating to A Outh 2.0 I used both Client ID and client secret and same error { "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED" } }

   $ch = curl_init();        curl_setopt($ch, CURLOPT_URL, 'https://googleads.googleapis.com/v9/customers/(8519781266):generateKeywordIdeas');        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        curl_setopt($ch, CURLOPT_POST, 1);        curl_setopt($ch, CURLOPT_POSTFIELDS, "{\n\n\"keywordSeed\": {\n    \"keywords\": [\n    \"cofee\"\n  ]\n  }\n}");                $headers = array();        $headers[] = 'Content-Type: application/json';        $headers[] = 'Login-Customer-Id: (2260416591)';        $headers[] = 'Developer-Token: (z2sb0uyekDzkMbiyNpAImg';        $headers[] = 'Authorization: Bearer (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)';        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);                $result = curl_exec($ch);        if (curl_errno($ch)) {            echo 'Error:' . curl_error($ch);        }        print_r($result) ;        curl_close($ch);         

This curl command code with my google's data

curl -i --request POST https://googleads.googleapis.com/v9/customers/(8519781266):generateKeywordIdeas \ --header "Content-Type: application/json" \ --header "login-customer-id: (2260416591)" \ --header "developer-token: (z2sb0uyekDzkMbiyNpAImg" \ --header "Authorization: Bearer (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)" \ --data '{ "keywordSeed": {     "keywords": [     "cofee"   ]   } }' 

This's the curl command line

curl -i --request POST https://googleads.googleapis.com/v9/customers/(ACCOUNT NUMBER):generateKeywordIdeas \ --header "Content-Type: application/json" \ --header "login-customer-id: (MCC ID)" \ --header "developer-token: (DEVELOPER TOKEN" \ --header "Authorization: Bearer (ACCESS TOKEN)" \ --data '{ "keywordSeed": {     "keywords": [     "cofee"   ]   } }' 

and it prints this error

 C:\Users\MostafaEzzat>curl -i --request POST https://googleads.googleapis.com/v9/customers/(8519781266):generateKeywordIdeas \ HTTP/1.0 411 Length Required Content-Type: text/html; charset=UTF-8 Referrer-Policy: no-referrer Content-Length: 1564 Date: Sat, 01 Jan 2022 18:14:44 GMT <!DOCTYPE html> <html lang=en>   <meta charset=utf-8>   <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">   <title>Error 411 (Length Required)!!1</title>   <style>     *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}   </style>   <a href=//www.google.com/><span id=logo aria-label=Google></span></a>   <p><b>411.</b> <ins>That’s an error.</ins>   <p>POST requests require a <code>Content-length</code> header.  <ins>That’s all we know.</ins> curl: (6) Could not resolve host: \ C:\Users\MostafaEzzat>--header "Content-Type: application/json" \ '--header' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>--header "login-customer-id: (2260416591)" \ '--header' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>--header "developer-token: (z2sb0uyekDzkMbiyNpAImg" \ '--header' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>--header "Authorization: Bearer (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)" \ '--header' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>--data '{ '--data' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat> C:\Users\MostafaEzzat>"keywordSeed": { '"keywordSeed":' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>    "keywords": [ '"keywords":' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>    "cofee" '"cofee"' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>  ] ']' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>  } '}' is not recognized as an internal or external command, operable program or batch file. C:\Users\MostafaEzzat>}' 

so I don't know honestly how to convert to Curl PHP and parse combine and all the parameters which is in this link https://developers.google.com/google-ads/api/rest/reference/rest/v9/KeywordPlanHistoricalMetrics

Can I know the difference between data backfilling and refreshing, in the context of BigQuery Data Transfers.

Data Refresh window is a parameter that can be configured when setting up BigQuery Data Transfers for Google Ads and Search Ads 360 data (probably for some other BigQuery data transfers too).

Reference:
https://cloud.google.com/bigquery-transfer/docs/working-with-transfers#refreshing https://cloud.google.com/bigquery-transfer/docs/adwords-transfer

I have google ad in web site.Ad is visible to client. But in google statistics viewability is 18-20%. I inspected in browser.It shows browser size:0,0 px(bs:0,0).

sig: Cg0ArKJSzK9xkPVRs7FEEAE id: lidar2 mcvt: 1003 p: 225,425,315,1153 mtos: 1003,1003,1003,1003,1003 tos: 1003,0,0,0,0 v: 20211202 bin: 7 avms: nio bs: 0,0 mc: 1 if: 1 app: 0 itpl: 19 adk: 803334084 rs: 4 la: 0 cr: 0 vs: 4 r: v rst: 1640861015262 rpt: 1292 isd: 0 lsd: 0 met: ce wmsd: 0

I am working with Google Ads Scripts. Based on my use case, I need to get the impressions, clicks, and other statistics about the products I have in my Google Ads account.

These product statistics will be analyzed in the script and based on certain criteria a Google Sheet document will be updated. The script goes like, retrieving all products (along with their statistics) from Google Ads account, see if the products impression and clicks meet a category (30 Impression, 1 click = Category "A", 20 Impressions, 0 Clicks = "Category B"), determines the product category, open Google Sheet hosted on Google Drive and updates the Category column in the Sheet based on product name or id.

Currently, I am facing an issue with retrieving Products and their statistics from Google Ads Account using Ads Script. I used the following code snippets to look for products but found no method or class that would help me achieve my desired results. I can only retrieve the productGroups, AdGroups, and Campaigns but none of them allow me to extract individual products.

function productGroup(){   var prodGroupIter = AdsApp.productGroups().get();   while (prodGroupIter.hasNext()){     Logger.log("prodGroup: ")     var prodGroup = prodGroupIter.next();     Logger.log(prodGroup.getValue());   } } function adGroup() {   var adGroupIterator = AdsApp.adGroups().get();   while (adGroupIterator.hasNext()) {     var adGroup = adGroupIterator.next();     Logger.log("adGroup: ")     Logger.log(adGroup.getName());   } } function campaign(){   var campIter = AdsApp.campaigns().get();   while (campIter.hasNext()){     var ads = campIter.next().ads().get();     while(ads.hasNext()){       Logger.log(ads.next().getStatsFor("LAST_30_DAYS"));     }   } } function sheet() {   var sheetURL = "https://docs.google.com/spreadsheets/d/1W0zhRrQa1P7qjQf0eXXw-QzdcPKAlDPiVBOcIVEfDgw/edit#gid=1428103052";   var sheet = SpreadsheetApp.openByUrl(sheetURL); } function main(){   campaign();   adGroup();   productGroup(); } 

I then reached out to the Ads Script support team and found out that it is not possible. But they suggested that I can use Shopping Performance Report, Product Partition Report, shopping_performance_view or product_group_view. They are part of AdWord API, and I do not know how to work with them.

So, I am looking for a Google Ads Script that would help me get a list of products (with detailed statistics) from Googe Ads and I am stuck with how to use the above-mentioned AdWord reporting endpoints to do it.

Here is the list of products in my Google Ads Account. They are 107 products along with their statistics.

Please, help with at least comments, ideas, and suggestions, I can write code but I am not sure what I am missing on