migrating to v14: what replaces v13 GenerateForecastCurveResponse?

2023-11-30 Thread Marc Donis
We are currently using 
com.google.ads.googleads.v13.services.GenerateForecastCurveResponse to 
generate forecast metrics for given keywords.
I see that the new v14 approach is described here 
https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics
 
, but no advice is given here about how to generate the complete bid curve, 
as was possible in v13. Making hundreds of calls to 
KeywordPlanIdeaServiceClient.generateKeywordForecastMetrics, one for each 
bid, would be very time-consuming and quickly exhaust our usage quota.
What is the new way to obtain the complete curve, with one API request?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/96be822c-8f98-452e-b60e-bb6736f090bfn%40googlegroups.com.


Getting stcuk in making listing groups

2023-11-30 Thread Tanish Gupta
Hi

I have a PMAX retail campign and i am not able to make listing groups in it 
:
Error: 
com.google.ads.googleads.v15.errors.GoogleAdsException: errors {
  error_code {
asset_group_listing_group_filter_error: 
SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD
  }
  message: "Listing Group SUBDIVISION node must have everything else child."
  trigger {
int64_value: -1
  }
  location {
field_path_elements {
  field_name: "mutate_operations"
  index: 0
}
field_path_elements {
  field_name: "asset_group_listing_group_filter_operation"
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "type"
}
  }
}
errors {
  error_code {
new_resource_creation_error: DUPLICATE_TEMP_IDS
  }
  message: "Creating more than one resource with the same temp ID is not 
allowed."
  trigger {
int64_value: -1
  }
  location {
field_path_elements {
  field_name: "mutate_operations"
  index: 1
}
field_path_elements {
  field_name: "asset_group_listing_group_filter_operation"
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "resource_name"
}
  }
}
request_id: "7SEJ-cM_WkxXs4MMg6_Q3A"


Code:

String assetGroupResourceName = 
"customers/2966251517/assetGroups/6483934165";
long assetGroupdId= Long.parseLong(assetGroupResourceName.substring(
assetGroupResourceName.lastIndexOf("/") + 1));
mutateOperations.clear();
System.out.println("assetGroupResourceName" + assetGroupResourceName);
//AssetGroupListingGroupFilter.Builder listingGroupFilter = 
AssetGroupListingGroupFilter.newBuilder().setAssetGroup(assetGroupResourceName).setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.SUBDIVISION).setListingSource(ListingGroupFilterListingSourceEnum.ListingGroupFilterListingSource.SHOPPING);
AssetGroupListingGroupFilter listingGroupFilter = 
AssetGroupListingGroupFilter.newBuilder()
.setResourceName(
ResourceNames.assetGroupListingGroupFilter(
Long.parseLong(saInfo.getAccountId()), assetGroupdId, -1))
.setAssetGroup(ResourceNames.assetGroup(Long.parseLong(saInfo.getAccountId()), 
assetGroupdId))
// Since this is the root node, do not set the ParentListingGroupFilter. 
For all other
// nodes, this would refer to the parent listing group filter resource name.
// .setParentListingGroupFilter("PARENT_FILTER_NAME")
//
// Unlike AddPerformanceMaxRetailCampaign, the type for the root node here 
must be
// SUBDIVISION because it will have child partitions under it.
.setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.SUBDIVISION)
// Specifies that this uses the shopping listing source because it is a 
Performance
// Max campaign for retail.
.setListingSource(ListingGroupFilterListingSourceEnum.
ListingGroupFilterListingSource.SHOPPING)
// Note the case_value is not set because it should be undefined for the 
root node.
.build();
//AssetGroupListingGroupFilterOperation.Builder listingGroupFilter1 = 
AssetGroupListingGroupFilterOperation.newBuilder().setCreate(listingGroupFilter);
AssetGroupListingGroupFilterOperation operation =
AssetGroupListingGroupFilterOperation.newBuilder().setCreate(
listingGroupFilter).build();
System.out.println(operation);
MutateOperation.Builder mutateOperation1 = MutateOperation.newBuilder
().setAssetGroupListingGroupFilterOperation(operation);
mutateOperations.add(mutateOperation1.build());
listingGroupFilter =
AssetGroupListingGroupFilter.newBuilder()
.setResourceName(
ResourceNames.assetGroupListingGroupFilter(Long.parseLong(saInfo.getAccountId()),
 
assetGroupdId, 132))
.setAssetGroup(ResourceNames.assetGroup(Long.parseLong(saInfo.getAccountId()), 
assetGroupdId))
.setParentListingGroupFilter(
ResourceNames.assetGroupListingGroupFilter(Long.parseLong(saInfo.getAccountId()),
 
assetGroupdId, -1))
// Uses the UNIT_INCLUDED type to indicate that the 
AssetGroupListingGroupFilter
// won't have children.
.setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.UNIT_INCLUDED)
// Specifies that this uses the shopping listing source because it is a 
Performance
// Max campaign for retail.
.setListingSource(ListingGroupFilterListingSourceEnum.
ListingGroupFilterListingSource.SHOPPING)
.setCaseValue(ListingGroupFilterDimension.newBuilder
().setProductCustomAttribute(ListingGroupFilterDimension.
ProductCustomAttribute.newBuilder().setValue("Everything else").setIndex(
ListingGroupFilterCustomAttributeIndexEnum.
ListingGroupFilterCustomAttributeIndex.INDEX0).build()).build())
.build();
AssetGroupListingGroupFilterOperation filterOperation =
AssetGroupListingGroupFilterOperation.newBuilder().setCreate(
listingGroupFilter).build();
mutateOperation1 = MutateOperation.newBuilder
().setAssetGroupListingGroupFilterOperation(operation);
mutateOperations.add(mutateOperation1.build());
System.out.println(getCampaignSharedSetService().mutate((mutateOperations), 
saInfo.getAccountId()));


Thanks
Tanish

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=

Re: listing groups creation in pmax campaigns

2023-11-30 Thread Tanish Gupta
My code : String assetGroupResourceName = 
"customers/2966251517/assetGroups/6483919124";
long assetGroupdId= Long.parseLong(assetGroupResourceName.substring(
assetGroupResourceName.lastIndexOf("/") + 1));
mutateOperations.clear();
System.out.println("assetGroupResourceName" + assetGroupResourceName);
//AssetGroupListingGroupFilter.Builder listingGroupFilter = 
AssetGroupListingGroupFilter.newBuilder().setAssetGroup(assetGroupResourceName).setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.SUBDIVISION).setListingSource(ListingGroupFilterListingSourceEnum.ListingGroupFilterListingSource.SHOPPING);
AssetGroupListingGroupFilter listingGroupFilter = 
AssetGroupListingGroupFilter.newBuilder()
.setAssetGroup(ResourceNames.assetGroup(Long.parseLong(saInfo.getAccountId()), 
assetGroupdId))
//.setResourceName(ResourceNames.assetGroupListingGroupFilter(Long.parseLong(saInfo.getAccountId()),
 
assetGroupdId, 11339184668L))
// Since this is the root node, do not set the ParentListingGroupFilter. 
For all other
// nodes, this would refer to the parent listing group filter resource name.
// .setParentListingGroupFilter("PARENT_FILTER_NAME")
//
// Unlike AddPerformanceMaxRetailCampaign, the type for the root node here 
must be
// SUBDIVISION because it will have child partitions under it.
.setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.SUBDIVISION)
// Specifies that this uses the shopping listing source because it is a 
Performance
// Max campaign for retail.
.setListingSource(ListingGroupFilterListingSourceEnum.
ListingGroupFilterListingSource.SHOPPING)

//.setParentListingGroupFilter(ResourceNames.assetGroupListingGroupFilter(Long.parseLong(saInfo.getAccountId()),
 
assetGroupdId, 11339184668L))
//.setCaseValue(ListingGroupFilterDimension.newBuilder().setProductCustomAttribute(ListingGroupFilterDimension.ProductCustomAttribute.newBuilder().setValue("10-10").setIndex(ListingGroupFilterCustomAttributeIndexEnum.ListingGroupFilterCustomAttributeIndex.INDEX0).build()).build())
// Note the case_value is not set because it should be undefined for the 
root node.
.build();

Error : com.google.ads.googleads.v15.errors.GoogleAdsException: errors {
  error_code {
asset_group_listing_group_filter_error: 
SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD
  }
  message: "Listing Group SUBDIVISION node must have everything else child."
  location {
field_path_elements {
  field_name: "mutate_operations"
  index: 0
}
field_path_elements {
  field_name: "asset_group_listing_group_filter_operation"
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "type"
}
  }
}
request_id: "ijlCc3TXKxRNp6AuhS5NFQ"

Thanks
Tanish
On Thursday, 23 November 2023 at 17:42:36 UTC+5:30 Google Ads API Forum 
Advisor wrote:

> Hi Tanish,
>
> Thank you for reaching out to the Google Ads API support team.
>
> After reviewing your concern, I understand that you want to create listing 
> groups for PMAX campaigns. Yes, you can create listing groups using the 
> example provided in the Google Ads API documentation Creating Shopping 
> Listing Groups 
> .
>  
> The example performance Max listing groups 
> 
>  
> demonstrates how to create a new listing group for PMAX campaigns.
>
> If the issue persists, please provide us with the complete API logs (
> *request* 
> 
>  and  
> 
> *response* 
> 
>  with  
> 
> *request-id* 
> 
>  and  
> *request
>  
> header* 
> )
>  
> generated at your end so that we can better assist you.
>
> If you are using a client library and haven't enabled the logging yet, I 
> would request you to enable logging for the specific client library that 
> you are using. You can refer to the guides  
> 
> *Java* 
> 
> ,  
> 
> *.Net* 
> 
> ,  
> 
> *PHP* 
> 

Re: basic access for google ads api

2023-11-30 Thread tj liang
We initially applied for basic API access on November 21st but haven't 
received any response to date. We submitted another application on November 
27th, yet still, there has been no communication from your end. If 
possible, could you please assist us by reaching out to the relevant 
personnel? This matter is of great urgency for us. Thank you for your help.

   - Google Ads Manager Account (MCC) ID: 892-400-3852


   - Case ID: The user has not received any case ID. 
   - Access level: Basic 



在2023年11月22日星期三 UTC+8 18:56:43 写道:

> Hi,
>
> Thank you for getting back to us.
>
> Since the access requests are handled by the Google Ads API Compliance 
> team, they are actively addressing the matter and please note that 
> access-related issues are beyond our current scope. Looping the Compliance 
> team back to this thread for further assistance. 
>
>
> @Compliance team, please confirm if you are able to assist in the below 
> access request.
>
> Summary: The user has applied for Google Ads API access with the below 
> details. 
>
>
>
>- Google Ads Manager Account (MCC) ID: 892-400-3852 
>
>
>- Case ID: The user has not received any case ID.  
>- Access level: Basic  
>
> Do reach out to the *Google Ads API* 
>  support team 
> for any queries related to the API.
>
>   
> This message is in relation to case "ref:!00D1U01174p.!5004Q02qUFqO:ref"
>
> Thanks,
>   
> [image: Google Logo] Google Ads API Team 
>
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/07f7a379-d881-4b62-ab6f-9b6dd0c98847n%40googlegroups.com.


Listing groups in PMAX retail campign

2023-11-30 Thread Tanish Gupta
Hi

What this mean ? Unlike AddPerformanceMaxRetailCampaign, the type for the 
root node here must be
  // SUBDIVISION because it will have child partitions under it.

in this 
doc 
https://developers.google.com/google-ads/api/samples/add-performance-max-product-listing-group-tree

as i am not able to root subdivision in retail campign 
error:
  message: "Listing Group SUBDIVISION node must have everything else child."

Code: String campaignResourceName =
ResourceNames.campaign(Long.parseLong(saInfo.getAccountId()), 20816528066L);
AssetGroup assetGroup =
AssetGroup.newBuilder()
.setName("Performance Max asset group #" + "_test_13")
.setCampaign(campaignResourceName)
.addFinalUrls("http://www.test.ch";)
.addFinalMobileUrls("http://www.test.ch";)
.setStatus(AssetGroupStatusEnum.AssetGroupStatus.PAUSED)
.build();
AssetGroupOperation assetGroupOperation =
AssetGroupOperation.newBuilder().setCreate(assetGroup).build();
mutateOperations.add(
MutateOperation.newBuilder().setAssetGroupOperation(assetGroupOperation
).build());
List responses = 
(getCampaignSharedSetService().mutate((mutateOperations), saInfo
.getAccountId()));
System.out.println("responses" + responses);
String assetGroupResourceName = responses.get(0
).getAssetGroupResult().getResourceName();
long assetGroupdId= Long.parseLong(assetGroupResourceName.substring(
assetGroupResourceName.lastIndexOf("/") + 1));
mutateOperations.clear();
System.out.println("assetGroupResourceName" + assetGroupResourceName);
//AssetGroupListingGroupFilter.Builder listingGroupFilter = 
AssetGroupListingGroupFilter.newBuilder().setAssetGroup(assetGroupResourceName).setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.SUBDIVISION).setListingSource(ListingGroupFilterListingSourceEnum.ListingGroupFilterListingSource.SHOPPING);
AssetGroupListingGroupFilter listingGroupFilter = 
AssetGroupListingGroupFilter.newBuilder()
.setAssetGroup(ResourceNames.assetGroup(Long.parseLong(saInfo.getAccountId()), 
assetGroupdId))
.setResourceName(ResourceNames.assetGroupListingGroupFilter(Long.parseLong(
saInfo.getAccountId()), assetGroupdId, -1))
// Since this is the root node, do not set the ParentListingGroupFilter. 
For all other
// nodes, this would refer to the parent listing group filter resource name.
// .setParentListingGroupFilter("PARENT_FILTER_NAME")
//
// Unlike AddPerformanceMaxRetailCampaign, the type for the root node here 
must be
// SUBDIVISION because it will have child partitions under it.
.setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.SUBDIVISION)
// Specifies that this uses the shopping listing source because it is a 
Performance
// Max campaign for retail.
.setListingSource(ListingGroupFilterListingSourceEnum.
ListingGroupFilterListingSource.SHOPPING)

//.setParentListingGroupFilter(ResourceNames.assetGroupListingGroupFilter(Long.parseLong(saInfo.getAccountId()),
 
assetGroupdId, 11339208521L))
//.setCaseValue(ListingGroupFilterDimension.newBuilder().setProductCustomAttribute(ListingGroupFilterDimension.ProductCustomAttribute.newBuilder().setValue("10-10").setIndex(ListingGroupFilterCustomAttributeIndexEnum.ListingGroupFilterCustomAttributeIndex.INDEX0).build()).build())
// Note the case_value is not set because it should be undefined for the 
root node.
.build();
AssetGroupListingGroupFilterOperation.Builder listingGroupFilter1 = 
AssetGroupListingGroupFilterOperation.newBuilder().setCreate(
listingGroupFilter);
AssetGroupListingGroupFilterOperation operation =
AssetGroupListingGroupFilterOperation.newBuilder().setCreate(
listingGroupFilter).build();
System.out.println(operation);
MutateOperation.Builder mutateOperation1 = MutateOperation.newBuilder
().setAssetGroupListingGroupFilterOperation(operation);
mutateOperations.add(mutateOperation1.build());
listingGroupFilter =
AssetGroupListingGroupFilter.newBuilder()
.setAssetGroup(ResourceNames.assetGroup(Long.parseLong(saInfo.getAccountId()), 
assetGroupdId))
.setParentListingGroupFilter(
ResourceNames.assetGroupListingGroupFilter(Long.parseLong(saInfo.getAccountId()),
 
assetGroupdId, -1))
// Uses the UNIT_INCLUDED type to indicate that the 
AssetGroupListingGroupFilter
// won't have children.
.setType(ListingGroupFilterTypeEnum.ListingGroupFilterType.UNIT_INCLUDED)
// Specifies that this uses the shopping listing source because it is a 
Performance
// Max campaign for retail.
.setListingSource(ListingGroupFilterListingSourceEnum.
ListingGroupFilterListingSource.SHOPPING)
.setCaseValue(ListingGroupFilterDimension.newBuilder
().setProductCustomAttribute(ListingGroupFilterDimension.
ProductCustomAttribute.newBuilder().build()).build())
.build();
AssetGroupListingGroupFilterOperation filterOperation =
AssetGroupListingGroupFilterOperation.newBuilder().setCreate(
listingGroupFilter).build();
mutateOperation1 = MutateOperation.newBuilder
().setAssetGroupListingGroupFilterOperation(filterOperation);
mutateOperations.add(mutateOperation1.build());

Thanks
Tanish

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Re: oauth2l tool error: missing 'type' field in credentials

2023-11-30 Thread TM Drift
The refresh token has not been generated - that is what I am trying to do 
following the directions 
here: 
https://developers.google.com/google-ads/api/docs/get-started/make-first-call

However, as stated, when I try to run the oauth2l tool, I get the "missing 
'type' field in credentials" error.

On Thursday, November 30, 2023 at 2:01:36 AM UTC+1 Google Ads API Forum 
Advisor wrote:

> Hi,
>
> Thank you for getting back to us.
>
> Could you please confirm with us whether the refresh token has been 
> generated or not? If you are still facing issues while generating the 
> refresh token, provide us with the complete API logs (request 
> 
>  and response 
> 
>  with request-id 
> 
>  and request header 
> )
>  
> generated at your end along with the screenshot of the error message.
>  
> You can send the details via *Reply privately to the author option*, or 
> *direct 
> private reply* to this email.
>
>   
> This message is in relation to case "ref:!00D1U01174p.!5004Q02qVYIl:ref"
>
> Thanks, 
> [image: Google Logo] Google Ads API Team 
>
>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/2a06a7ef-a517-4be0-b100-b690fe2ffde2n%40googlegroups.com.


Error with Google Ads API in WordPress Plugin: Class "OAuth2TokenBuilder" Not Found

2023-11-30 Thread Teun Roos
Hello,

I am encountering an issue while integrating the Google Ads API into my 
WordPress plugin. Despite following the setup instructions and successfully 
installing the googleads-php-lib via Composer, I'm facing a persistent 
error.

**Error Description:**
When trying to initialize the Google Ads Client in my PHP code, I am 
receiving the following error message:

Fatal error: Uncaught Error: Class "OAuth2TokenBuilder" not found in 
/var/www/html/wp-content/plugins/[Your Plugin 
Directory]/ga-analytics-plugin.php on line [Line Number]


**Steps I Have Taken:**
1. Installed the `googleads-php-lib` using Composer in my WordPress plugin 
directory.
2. Included the Composer autoloader in my plugin PHP file: `require_once 
'vendor/autoload.php';`
3. Attempted to use the `OAuth2TokenBuilder` class as per the library's 
documentation.

I suspect the issue might be related to [any specific suspicions you have, 
like namespace usage, file paths, etc.], but I am unable to pinpoint the 
exact cause. Has anyone encountered a similar issue or can provide insights 
on what might be going wrong?

Thank you in advance for your help!

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/cb6d49a1-b825-4e09-b624-8e808ad64cf9n%40googlegroups.com.


V21GoogleAdsClientBuilder error

2023-11-30 Thread Teun Roos
Hi all,
This is my first time playing around with the Google Ads API. 
I have the following in my code;

use Google\Ads\GoogleAds\Lib\V21\GoogleAdsClientBuilder;
use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\V21\Enums\SearchTermMatchTypeEnum\
SearchTermMatchType;
use Google\Ads\GoogleAds\V21\Services\GoogleAdsRow;

It's giving me the following error;

Uncaught Error: Class "Google\Ads\GoogleAds\Lib\V21\GoogleAdsClientBuilder" 
not found in /var/www/html/wp-content/plugins/organic search 
v2/ga-analytics-plugin.php:396 Stack trace: #0 
/var/www/html/wp-content/plugins/organic search 
v2/ga-analytics-plugin.php(66): fetch_google_ads_data() #1 
/var/www/html/wp-includes/class-wp-hook.php(324): ga_search_terms_page() #2 
/var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 
#3 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action() #4 
/var/www/html/wp-admin/admin.php(259): do_action() #5 {main} thrown in 
*/var/www/html/wp-content/plugins/organic 
search v2/ga-analytics-plugin.php* on line *396*

Would anyone happen to know why the error shows up? 
Is GoogleAdsClientBuilder no longer available?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/fedae851-8d7e-4083-888b-55588e771baan%40googlegroups.com.


Automating Google Ads API Refresh Token Generation and Renewal

2023-11-30 Thread Disha Sood

I'm using the Google Ads API to retrieve information from Google Ads 
campaigns. Initially, I manually generated a new refresh token by following 
specific steps to obtain an authorization code using a designated Google 
ID. Subsequently, I sent a CURL request with that code to generate a 
refresh token. Now, I aim to automate the entire process to convert the 
script, responsible for fetching Google Ads campaign data, into a full-time 
scheduler by automating the generation and renewal of the refresh token. 
Unfortunately, I'm encountering difficulties in achieving this. Is there a 
specific code or method available to accomplish the aforementioned task?
-- 
The content of this email is confidential and intended for the recipient 
specified in message only. It is strictly forbidden to share any part of 
this message with any third party, without a written consent of the sender. 
If you received this message by mistake, please reply to this message and 
follow with its deletion, so that we can ensure such a mistake does not 
occur in the future.
DISCLAIMER: Though, we have put efforts into ensuring 
that the message is error and virus-free; unfortunately, full security of 
the email cannot be ensured as, despite our efforts, the data included in 
emails could be infected, intercepted, or corrupted. Therefore, the 
recipient should check the email for threats with proper software, as the 
sender does not accept liability for any damage inflicted by viewing the 
content of this email.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/5b788741-d946-4811-a7d3-fcf14e53c6f1n%40googlegroups.com.


Ad strength is always PENDING

2023-11-30 Thread Dev PeachesAI
I'm trying to get some info about my responsive search ads (ad strength and 
recommendations, particularly) using the following query:

​SELECT
  ad_group_ad.resource_name,
  ad_group_ad.status,
  ad_group_ad.ad_group,
  ad_group_ad.ad_strength,
  ad_group_ad.ad.id,
  ad_group_ad.ad.name,
  ad_group_ad.action_items,
  ad_group_ad.labels
FROM ad_group_ad
WHERE ad_group_ad.ad_group = ''
LIMIT 1

but in the result *ad_strength* is always *PENDING *and  *action_items *is 
always an empty list even if in Google Ads Console I see another info. I 
was trying to use different  AD_GROUP_IDs querying ads from different 
campaigns, but without any luck.


Also with the query

SELECT recommendation.resource_name FROM recommendation

I can't get any recommendation.

Could you assist?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/01f534a3-03df-4322-951e-420010348459n%40googlegroups.com.


Suddenly : [403] The caller does not have permission. The developer token is only approved for use with test accounts. To access non-test accounts, apply for Basic or Standard access

2023-11-30 Thread Matthias Kompanik
Hi,

from one to the other day we got the message while connecting the API:

[403] The caller does not have permission. The developer token is only 
approved for use with test accounts. To access non-test accounts, apply for 
Basic or Standard access


I checked the OAuth ->  its valid and active (but I also renewed it...)
I checked the Developertoken -> it is already for Basic access ( but I also 
resetted it .)


When I did some testing with the parameters and even a new Oauth -> a new 
message appears:

The caller does not have permission. Developer token is not allowed with 
project '1029114633741'.

This ID is a Dataset we use vor Bigquery and Google Analytics (loading).

What could be here a relation, what is not functional anymore?

Has someone Ideas?

Thanks, Matthias

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/8af3d39e-3028-46c6-ad58-ab07c0ffc09fn%40googlegroups.com.


again ads api status misunderstood by team

2023-11-30 Thread Daniel Moen
Hi, 
about a month ago I applied for google ads API, up until 3 weeks ago I did 
not get a response, and since then its been the same thing over and over, 
they say that an account with this mcc id already has a token

* 687-900-7142*Great, huge problem though I don't have any account with 
that id
this has been quite frustrating as every time it is said that an account 
already has an id the ticket goes cold and I have to make a post such as 
this to revive it 
the accounts I am in control of have these id's
769-828-2260 (this is what i applied for the token with)
880-577-7935
I wish to get this resolved just as much as the team does
any help would be appreciated

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/be5fe23a-cd7e-4d8e-b944-d8a30403980an%40googlegroups.com.


Monthly and weekly data grouping

2023-11-30 Thread Sebastián
Hey! i have a problem with the segments.month and segments.week, i need to 
bring data of metrics, grouped by month and by weeks

Something like this

*clicks | month*
250| October
313| November 

when i do this query "SELECT metrics.clicks FROM campaign WHERE 
segments.date BETWEEN '2023-09-01' AND '2023-11-01'" i get 5 rows, but when 
i add segments.month to the select i dont get anything:

SELECT metrics.clicks, segments.month FROM campaign WHERE segments.date 
BETWEEN '2023-09-01' AND '2023-11-01'

 Same thing happened when i tried with segments.week.

Although i found a way to bring the data by month doing a loop bringing the 
data from first day of the month until last day of the month, but it is not 
efficient cause if i need ten months, for example, i will have to do ten 
requests 

If someone can help me would be great! Thanks in advance


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/68d1d5a3-a8d3-4c0a-b6af-01e4ba793a65n%40googlegroups.com.


Standard API token requests with no answer for 6 weeks

2023-11-30 Thread 'Coverler Admin' via Google Ads API and AdWords API Forum
Hi,

Like tens of people below me in this forum I also've been trying to get an 
API for 6 weeks now, and got nothing back at all. I've filled out both the 
request form and the compliance form to request a status update multiple 
times, I even contacted my local Ads managers to help – but still nothing. 
Are those forms even working and is anyone actually getting basic API keys 
at the moment? 

Seeing what the standard answer to requests is – here is my answer upfront: 

   - MCC ID: 521-681-8186
   - No case ID was generated
   - Basic level requested

Thanks
Dasha

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/3c5006ff-7d52-4c49-8914-8a12db6243cbn%40googlegroups.com.


Cannot query Lead form Attach at Account Level in CustomerAsset

2023-11-30 Thread chandra Shekhar
Hi team, I am querying lead form attach to CustomerAsset

query = "SELECT customer_asset.asset, customer_asset.field_type, 
customer_asset.primary_status, customer_asset.primary_status_details," +
" customer_asset.primary_status_reasons, customer_asset.resource_name, 
customer_asset.source," +
" customer_asset.status FROM customer_asset WHERE customer_asset.field_type 
= 'LEAD_FORM'",


Although one lead form is added at Account level, still I am getting empty 
response.
Please help me get the lead form at Account level(id = 1416728966)

Thanks.

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/48267949-1937-4d65-be16-4a2fbada2e7dn%40googlegroups.com.


RE: migrating to v14: what replaces v13 generateforecastcurveresponse?

2023-11-30 Thread 'Google Ads API Forum Advisor' via Google Ads API and AdWords API Forum
Hi,

Thank you for reaching out to the Google Ads API support team.

I see that you have already raised this concern on another thread with 
"migrating to v14: what replaces v13
GenerateForecastCurveResponse?" and we have already responded there for this 
issue. To avoid multiple threads on the same issue, please take a look at that 
thread and continue the discussion on the same for further updates on the issue.
This message is in relation to case "ref:!00D1U01174p.!5004Q02qVnTK:ref"

Thanks,

Google Ads API Team

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/tnakL0S4Z43K00J8-zYrnDTGumEPRvxDApQw%40sfdc.net.