Re: Trying to add Audiences to Display Campaign/ Adgroup

2023-09-26 Thread Adam Walters
Was there a solution to this? I am having the same problem.

On Monday, August 8, 2022 at 9:55:39 AM UTC-4 Google Ads API Forum Advisor 
wrote:

> Hi,
>
> Thank you for reaching out to us.
>
> For our team to further check this, could you provide the complete API 
> logs (request 
> 
>  
> and response 
> 
>  with 
> request-id 
> )
>  
> generated on your end?
>
> You may then send the requested information via the Reply privately to 
> author option. If this option is not available, you may send the details 
> directly to our googleadsa...@google.com alias instead
>
> Best regards,
> [image: Google Logo] 
> Heidi 
> Google Ads API Team 
>   
>
> ref:_00D1U1174p._5004Q2dIQpG:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/83eb1a41-6aff-443f-8ea9-bf0bd7364edan%40googlegroups.com.


Re: Cannot set use_audience_grouped to True in ad group level

2023-09-26 Thread Adam Walters
Was a solution found for this? I have the same problem when creating 
standard display ad groups with the use_audience_grouped set to True.



On Monday, May 2, 2022 at 11:36:36 PM UTC-4 Google Ads API Forum Advisor 
wrote:

> Hi Elias,
>
> Thank you for raising your concern to my team.
>
> Could you confirm if the issue encountered when setting the 
> *use_audience_grouped* to true? If yes, then according to this document 
> ,
>  
> Discovery campaigns only support adding audience ad group criterion with 
> this process.
>
> Let me know if you have further questions.
>
> Regards,
> [image: Google Logo] 
> Ernie John 
> Google Ads API Team 
>   
>
> ref:_00D1U1174p._5004Q2YrVWT:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/49508840-ad49-40ca-bc29-9a2fdb36d51en%40googlegroups.com.


Re: use_audience_grouped set to false not working

2023-09-26 Thread Adam Walters
Hello,

Are you able to set the value to True for standard display ad groups? Is 
documentation anywhere on what ad group types have the availability?

Thanks

On Wednesday, January 25, 2023 at 5:54:56 PM UTC-5 Google Ads API Forum 
Advisor wrote:

> Hi all,
>
> Upon further investigation, I've found that for *Discovery* campaigns, 
> the only supported value for this field is *true*. Currently, the API 
> ignores the value you sent in, but even if it did not ignore it, you still 
> wouldn't be able to set the field to *false* on a Discovery campaign. At 
> most, the API would throw an error in a future API release for that 
> scenario.
>
> That still leaves non-Discovery campaigns. Has anyone on this thread found 
> this value is being ignored for non-Discovery campaigns?
>
>
> Thanks,
> [image: Google Logo] 
> Josh Radcliff 
> Google Ads API Team 
>   
>
> ref:_00D1U1174p._5004Q2hMlkn:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/6409456c-2ac5-4b68-859b-e88dd53d25a5n%40googlegroups.com.


Set audience_setting.use_audience_grouped to True for Display Ad Group

2023-09-26 Thread Adam Walters
Hello,

I am getting errors when trying to create standard display ad groups with 
the use_audience_grouped set to true.

Error received:
errors {
  error_code {
context_error: OPERATION_NOT_PERMITTED_FOR_CONTEXT
  }
  message: "The operation is not allowed for the given context."
  trigger {
string_value: "DISPLAY"
  }
  location {
field_path_elements {
  field_name: "operations"
  index: 0
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "audience_setting"
}
field_path_elements {
  field_name: "use_audience_grouped"
}
  }
}
request_id: "wjHf_3IbrXCu_S445rzHww"
, 'wjHf_3IbrXCu_S445rzHww')

Are you able to set the value to True for Display Ad Groups?

Thank you,
Adam

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/6fa21b8d-dbc0-45ac-95aa-86876c016ac9n%40googlegroups.com.


Re: extremely slow api calls caused by {method 'next_event' of 'grpc._cython.cygrpc.segregatedcall' objects}

2023-05-17 Thread Adam Walters
Hello,

Yes, I am using the Python client library. It had been working as expected
and then all of a sudden seemed to fall off. It appears that the client
library is installed and configured correctly.

<https://www.facebook.com/digibleinc/>
<https://www.instagram.com/digibleinc/>
<https://www.linkedin.com/company/digibleinc/>
<https://www.tiktok.com/@digibleinc>



Adam Walters

 Marketing Operations Engineer

 AUTHENTICITY | FOCUS | CURIOSITY | HUMILITY | HAPPINESS

Phone: (317) 840-1645

Email:   a...@digible.com


This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If the reader of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the intended recipient,
you are hereby notified that any dissemination, distribution or copying of
this communication is strictly prohibited.



On Wed, May 17, 2023 at 4:58 AM Google Ads API Forum Advisor
 wrote:

> Hi,
>
> Thank you for reaching out to Google Ads API Support.
>
> Can you confirm if you are using the Python client library? If yes, it
> seems like your concern is more on the implementation / integration of our
> client libraries rather than anything specific to *Google Ads API* itself.
> That said, I would recommend reaching out to the developer who maintains
> our *client libraries Python (Github Issues)* in the link below.
>
> Additionally, you may also check and confirm if you have followed the 
> *installation
> guide* and *configuration guide* of the Python client library.
>
> Reference links included in this email:
>
>- Google Ads API:
>*https://developers.google.com/google-ads/api/docs/start*
><https://developers.google.com/google-ads/api/docs/start>
>- Client libraries Python (Github Issues):
>*https://github.com/googleads/google-ads-python/issues*
><https://github.com/googleads/google-ads-python/issues>
>- Python Client Library Installation Guide:
>
> *https://developers.google.com/google-ads/api/docs/client-libs/python/installation*
>
> <https://developers.google.com/google-ads/api/docs/client-libs/python/installation>
>- Python Client Library Configuration Guide:
>
> *https://developers.google.com/google-ads/api/docs/client-libs/python/configuration*
>
> <https://developers.google.com/google-ads/api/docs/client-libs/python/configuration>
>
> Regards,
> [image: Google Logo] Google Ads API Team
>
> ref:_00D1U1174p._5004Q2lIX16:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/CAFNyvFf%3Djpq2nVKoTknifC%2B5okqwHoH7prcGPX7nakvLAXJyDg%40mail.gmail.com.


Extremely slow api calls caused by {method 'next_event' of 'grpc._cython.cygrpc.SegregatedCall' objects}

2023-05-16 Thread Adam Walters
Hello,

Recently my program started running extremely slow and upon further 
investigation found that this '{method 'next_event' of 
'grpc._cython.cygrpc.SegregatedCall' objects}' was taking over 5 seconds 
per call.

I am using all of the latest versions grpc and google-ads packages.

Below is an example of the code that is running and the results from a 
cProfile run:
from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.v13.services.services.google_ads_service import 
pagers
import logging

logging.basicConfig(level=logging.INFO, format='[%(asctime)s - 
%(levelname)s] %(message).5000s')
logging.getLogger('google.ads.googleads.client').setLevel(logging.INFO)

client = GoogleAdsClient.load_from_storage("google-ads.yaml")
google_ads_service = client.get_service("GoogleAdsService", version='v13')

class GoogleQuery:
"""A class to query Google Ads API

Attributes:
client: An initialized GoogleAdsClient instance.
mcc_id: The Google Ads MCC ID
search_accounts_query: A query to return all search accounts
display_accounts_query: A query to return all display accounts

Methods:
get_existing_search_accounts: Returns a dictionary of existing search 
accounts
get_existing_display_accounts: Returns a dictionary of existing display 
accounts
run_gaql_query: Runs a GAQL query and returns a Pager object
"""

def __init__(self):
self.client = client
self.mcc_id = "XX"
self.search_accounts_query = """SELECT
customer_client.id,
customer_client.resource_name,
customer_client.descriptive_name,
customer_client.manager,
customer_client.applied_labels
FROM 
customer_client
WHERE
customer_client.manager = false 
AND customer_client.id IS NOT NULL 
AND customer_client.descriptive_name LIKE '%Search%'
AND customer.status = 'ENABLED'"""

@staticmethod
def run_gaql_query(query: str, customer_id) -> pagers.SearchPager:
"""runs GAQL query through Google Ads API
Args:
customer_id: customer ID being queried
query: the actual GAQL query being ran
Returns:
Returns a pagers.SearchPager response of the raw data
"""
return google_ads_service.search(
customer_id=customer_id,
query=query
)

def get_existing_search_accounts(self) -> dict:
"""runs GAQL query through Google Ads API

Returns:
Returns a dict of {internal_id, account_name}
"""
response = self.run_gaql_query(self.search_accounts_query, self.mcc_id)
return {row.customer_client.descriptive_name[-8:]: 
row.customer_client.descriptive_name for row in response}

gaql = GoogleQuery()
gaql.get_existing_search_accounts()

# cProfile Results from above code Tue May 16 13:31:28 2023   
 output_test.pstats

 991213 function calls (973122 primitive calls) in 10.099 seconds

   Ordered by: internal time
   List reduced from 6168 to 20 due to restriction <20>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
17.3987.3987.4017.401 {method 'next_event' of 
'grpc._cython.cygrpc.SegregatedCall' objects} 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/5d932590-ce73-41dd-85b9-e5364d051125n%40googlegroups.com.


Extremely slow, {method 'next_event' of 'grpc._cython.cygrpc.SegregatedCall' objects}

2023-05-16 Thread Adam Walters
Hello,

Recently my program started running extremely slow and upon investigation I 
found that the '{method 'next_event' of 
'grpc._cython.cygrpc.SegregatedCall' objects} was take over 5 seconds per 
call.

I am using the latest versions of grpc and google-ads packages.

Here is an example of my code that is running and below is the output from 
a cProfile run that shows the issue:
from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.v13.services.services.google_ads_service import 
pagers
import logging

logging.basicConfig(level=logging.INFO, format='[%(asctime)s - 
%(levelname)s] %(message).5000s')
logging.getLogger('google.ads.googleads.client').setLevel(logging.INFO)

client = GoogleAdsClient.load_from_storage("google-ads.yaml")
google_ads_service = client.get_service("GoogleAdsService", version='v13')

class GoogleQuery:
"""A class to query Google Ads API

Attributes:
client: An initialized GoogleAdsClient instance.
mcc_id: The Google Ads MCC ID
search_accounts_query: A query to return all search accounts
display_accounts_query: A query to return all display accounts

Methods:
get_existing_search_accounts: Returns a dictionary of existing search 
accounts
get_existing_display_accounts: Returns a dictionary of existing display 
accounts
run_gaql_query: Runs a GAQL query and returns a Pager object
"""

def __init__(self):
self.client = client
self.mcc_id = "XX"
self.search_accounts_query = """SELECT
customer_client.id,
customer_client.resource_name,
customer_client.descriptive_name,
customer_client.manager,
customer_client.applied_labels
FROM 
customer_client
WHERE
customer_client.manager = false 
AND customer_client.id IS NOT NULL 
AND customer_client.descriptive_name LIKE '%Search%'
AND customer.status = 'ENABLED'"""

@staticmethod
def run_gaql_query(query: str, customer_id) -> pagers.SearchPager:
"""runs GAQL query through Google Ads API
Args:
customer_id: customer ID being queried, default is Digible MCC
query: the actual GAQL query being ran
Returns:
Returns a pagers.SearchPager response of the raw data
"""
return google_ads_service.search(
customer_id=customer_id,
query=query
)

def get_existing_search_accounts(self) -> dict:
"""runs GAQL query through Google Ads API
Args:
customer_id: customer ID being queried, default is Digible MCC

Returns:
Returns a dict of {digible_id, account_name}
"""
response = self.run_gaql_query(self.search_accounts_query, self.mcc_id)
return {row.customer_client.descriptive_name[-8:]: 
row.customer_client.descriptive_name for row in response}

gaql = GoogleQuery()
gaql.get_existing_search_accounts()

#cProfile results Tue May 16 13:31:28 2023output_test.pstats

 991213 function calls (973122 primitive calls) in 10.099 seconds

   Ordered by: internal time
   List reduced from 6168 to 20 due to restriction <20>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
17.3987.3987.4017.401 {method 'next_event' of 
'grpc._cython.cygrpc.SegregatedCall' objects}
 11180.4410.0000.4410.000 {method 'read' of 
'_io.BufferedReader' objects} 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/04c4250c-84a3-461d-8add-cd0786a8f71en%40googlegroups.com.


Re: How to set Bidding Strategy to Conversion value or Viewable impressions for Display campaign ?

2023-03-16 Thread Adam Walters
Hello Google Ads API Team,

How are you handling this with the Google Ads API now that ManualCpm has no 
viewable_cpm_enabled field?

On Wednesday, April 8, 2020 at 12:25:51 PM UTC-4 Google Ads API Forum 
Advisor Prod wrote:

> Hi Vicky,
>
> Thank you for reaching out. Please see here 
> 
>  
> for the available bidding strategy types. For the Viewable CPM strategy, 
> you have to set the bidding strategy as ManualCpm 
> 
>  
> and set viewableCpmEnabled 
> 
>  
> to true. The screenshot you provided is for a TargetRoas 
> 
>  
> bid strategy. Maximize conversion value strategy is only for search 
> campaigns.
>
> Regards,
> Mitchell
> Google Ads API Team
>
> ref:_00D1U1174p._5001UZWqLg:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/d322f73c-31be-4ab1-8ef9-5fb99a27d0a4n%40googlegroups.com.


Create Campaign with ManualCPM bidding strategy

2023-03-16 Thread Adam Walters
Hello,

I'm receiving the below errors/message when trying to create a campaign 
with:
campaign.bidding_strategy_type = 
(client.enums.BiddingStrategyTypeEnum.MANUAL_CPM)



Request with ID "HS6OcJJAmzZKyr9-SjsrLQ" failed with status 
"INVALID_ARGUMENT" and includes the following errors:
Error with message "The required field was not present.".
On field: operations
On field: create
On field: campaign_bidding_strategy
[2023-03-16 15:26:59,703 - INFO] Request
---
Method: /google.ads.googleads.v13.services.CampaignService/MutateCampaigns
Host: googleads.googleapis.com
Headers: {
  "developer-token": "REDACTED",
  "login-customer-id": "2151671644",
  "x-goog-api-client": "gl-python/3.9.4 grpc/1.51.3 gax/2.11.0 gccl/20.0.0 
pb/4.21.11",
  "x-goog-request-params": "customer_id=3727734182"
}
Request: customer_id: "3727734182"
operations {
  create {
name: "Bidding Test"
status: PAUSED
advertising_channel_type: DISPLAY
network_settings {
  target_content_network: true
}
campaign_budget: "customers/3727734182/campaignBudgets/12441729808"
bidding_strategy_type: MANUAL_CPM
  }
}


Response
---
Headers: {
  "google.ads.googleads.v13.errors.googleadsfailure-bin": 
"\nc\n\u0003\u0003\u0002\u0012#The required field was not 
present.\"7\u0012\u000e\n\noperations\u0018\u\u0012\b\n\u0006create\u0012\u001b\n\u0019campaign_bidding_strategy\u0012\u0016HS6OcJJAmzZKyr9-SjsrLQ",
  "grpc-status-details-bin": "\b\u0003\u0012%Request contains an invalid 
argument.\u001a\u0001\nDtype.googleapis.com/google.ads.googleads.v13.errors.GoogleAdsFailure\u0012}\nc\n\u0003\u0003\u0002\u0012#The
 
required field was not 
present.\"7\u0012\u000e\n\noperations\u0018\u\u0012\b\n\u0006create\u0012\u001b\n\u0019campaign_bidding_strategy\u0012\u0016HS6OcJJAmzZKyr9-SjsrLQ",
  "request-id": "HS6OcJJAmzZKyr9-SjsrLQ"
}
Fault: errors {
  error_code {
field_error: REQUIRED
  }
  message: "The required field was not present."
  location {
field_path_elements {
  field_name: "operations"
  index: 0
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "campaign_bidding_strategy"
}
  }
}
request_id: "HS6OcJJAmzZKyr9-SjsrLQ"


[2023-03-16 15:26:59,703 - WARNING] Request made: ClientCustomerId: 
3727734182, Host: googleads.googleapis.com, Method: 
/google.ads.googleads.v13.services.CampaignService/MutateCampaigns, 
RequestId: HS6OcJJAmzZKyr9-SjsrLQ, IsFault: True, FaultMessage: The 
required field was not present. 

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/b5f5888e-f982-405c-aaf5-67f6e462dfcbn%40googlegroups.com.


Re: Creating an ad_group_ad.image_ad using a media_file

2023-03-13 Thread Adam Walters
Here is the image link for additional 
context: 
https://lh5.googleusercontent.com/4X8gH8BTbLZAKLHtuThtEgv6kSAHDQnjFbbqEotyPSX9rGMQM-SDTWfMy48Qyg4Ju1yQ-fdIFz96KNI=s220

On Monday, March 13, 2023 at 1:35:28 PM UTC-4 Adam Walters wrote:

> Yes. Please see below:
> Method: 
> /google.ads.googleads.v13.services.AdGroupAdService/MutateAdGroupAds
> Host: googleads.googleapis.com
> Headers: {
>   "developer-token": "REDACTED",
>   "login-customer-id": "2151671644",
>   "x-goog-api-client": "gl-python/3.9.4 grpc/1.51.3 gax/2.11.0 gccl/20.0.0 
> pb/4.21.11",
>   "x-goog-request-params": "customer_id=3727734182"
> }
> Request: customer_id: "3727734182"
> operations {
>   create {
> status: ENABLED
> ad_group: "customers/3727734182/adGroups/145390685654"
> ad {
>   final_urls: "https://www.digible.com";
>   display_url: "digible.com"
>   name: "Ad Name"
>   image_ad {
> media_file: "customers/3727734182/mediaFiles/156598151473"
>   }
> }
>   }
> }
>
>
> Response
> ---
> Headers: {
>   "google.ads.googleads.v13.errors.googleadsfailure-bin": 
> "\nh\n\u0003\u0002\u0005\u0012%The image is not of legal 
> dimensions.\":\u0012\u000e\n\noperations\u0018\u\u0012\b\n\u0006create\u0012\u0004\n\u0002ad\u0012\n\n\bimage_ad\u0012\f\n\nmedia_file\u0012\u0016nwA_KBVxSEh-dPH6OP-L0g",
>   "grpc-status-details-bin": "\b\u0003\u0012%Request contains an invalid 
> argument.\u001a\u0001\
> nDtype.googleapis.com/google.ads.googleads.v13.errors.GoogleAdsFailure\u0012\u0001\nh\n\u0003\u0002\u0005\u0012%The
>  
> image is not of legal 
> dimensions.\":\u0012\u000e\n\noperations\u0018\u\u0012\b\n\u0006create\u0012\u0004\n\u0002ad\u0012\n\n\bimage_ad\u0012\f\n\nmedia_file\u0012\u0016nwA_KBVxSEh-dPH6OP-L0g",
>   "request-id": "nwA_KBVxSEh-dPH6OP-L0g"
> }
> Fault: errors {
>   error_code {
> image_error: UNEXPECTED_SIZE
>   }
>   message: "The image is not of legal dimensions."
>   location {
> field_path_elements {
>   field_name: "operations"
>   index: 0
> }
> field_path_elements {
>   field_name: "create"
> }
> field_path_elements {
>   field_name: "ad"
> }
> field_path_elements {
>   field_name: "image_ad"
> }
> field_path_elements {
>   field_name: "media_file"
> }
>   }
> }
> request_id: "nwA_KBVxSEh-dPH6OP-L0g"
>
> On Monday, March 13, 2023 at 3:56:00 AM UTC-4 Google Ads API Forum Advisor 
> wrote:
>
>> Hi Adam,
>>
>>
>> Thanks for reaching out to the Google Ads API team. I hope you are doing 
>> well today.
>>
>>
>> With regards to your concern, to further check this issue, could you 
>> provide the complete* request* 
>> <https://developers.google.com/google-ads/api/docs/concepts/field-service#request>
>>  and* response* 
>> <https://developers.google.com/google-ads/api/docs/concepts/field-service#response>
>>  logs 
>> with* request ID* 
>> <https://developers.google.com/google-ads/api/docs/concepts/call-structure#request-id>
>>  and* request header* 
>> <https://developers.google.com/google-ads/api/docs/concepts/call-structure#request_headers>
>>  generated 
>> on your end?  If you haven't yet, logging can be enabled by navigating to 
>> the Client libraries > Your client library (ex. Java) > Logging 
>> documentation, which you can access from this link 
>> <https://developers.google.com/google-ads/api/docs/client-libs?hl=en>, 
>> so that we can further check and provide precise guidance accordingly.
>>
>>
>> You can provide it via Reply privately to the author option. If this 
>> option is not available, then send it instead on this email address 
>> googleadsa...@google.com.
>>  
>>
>> Regards,
>> [image: Google Logo] Google Ads API Team 
>>
>>
>> ref:_00D1U1174p._5004Q2jYIhK:ref
>>
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/86ee32ab-8180-4ab9-94cb-938b98b771aan%40googlegroups.com.


Re: Creating an ad_group_ad.image_ad using a media_file

2023-03-13 Thread Adam Walters
Yes. Please see below:
Method: /google.ads.googleads.v13.services.AdGroupAdService/MutateAdGroupAds
Host: googleads.googleapis.com
Headers: {
  "developer-token": "REDACTED",
  "login-customer-id": "2151671644",
  "x-goog-api-client": "gl-python/3.9.4 grpc/1.51.3 gax/2.11.0 gccl/20.0.0 
pb/4.21.11",
  "x-goog-request-params": "customer_id=3727734182"
}
Request: customer_id: "3727734182"
operations {
  create {
status: ENABLED
ad_group: "customers/3727734182/adGroups/145390685654"
ad {
  final_urls: "https://www.digible.com";
  display_url: "digible.com"
  name: "Ad Name"
  image_ad {
media_file: "customers/3727734182/mediaFiles/156598151473"
  }
}
  }
}


Response
---
Headers: {
  "google.ads.googleads.v13.errors.googleadsfailure-bin": 
"\nh\n\u0003\u0002\u0005\u0012%The image is not of legal 
dimensions.\":\u0012\u000e\n\noperations\u0018\u\u0012\b\n\u0006create\u0012\u0004\n\u0002ad\u0012\n\n\bimage_ad\u0012\f\n\nmedia_file\u0012\u0016nwA_KBVxSEh-dPH6OP-L0g",
  "grpc-status-details-bin": "\b\u0003\u0012%Request contains an invalid 
argument.\u001a\u0001\nDtype.googleapis.com/google.ads.googleads.v13.errors.GoogleAdsFailure\u0012\u0001\nh\n\u0003\u0002\u0005\u0012%The
 
image is not of legal 
dimensions.\":\u0012\u000e\n\noperations\u0018\u\u0012\b\n\u0006create\u0012\u0004\n\u0002ad\u0012\n\n\bimage_ad\u0012\f\n\nmedia_file\u0012\u0016nwA_KBVxSEh-dPH6OP-L0g",
  "request-id": "nwA_KBVxSEh-dPH6OP-L0g"
}
Fault: errors {
  error_code {
image_error: UNEXPECTED_SIZE
  }
  message: "The image is not of legal dimensions."
  location {
field_path_elements {
  field_name: "operations"
  index: 0
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "ad"
}
field_path_elements {
  field_name: "image_ad"
}
field_path_elements {
  field_name: "media_file"
}
  }
}
request_id: "nwA_KBVxSEh-dPH6OP-L0g"

On Monday, March 13, 2023 at 3:56:00 AM UTC-4 Google Ads API Forum Advisor 
wrote:

> Hi Adam,
>
>
> Thanks for reaching out to the Google Ads API team. I hope you are doing 
> well today.
>
>
> With regards to your concern, to further check this issue, could you 
> provide the complete* request* 
> 
>  and* response* 
> 
>  logs 
> with* request ID* 
> 
>  and* request header* 
> 
>  generated 
> on your end?  If you haven't yet, logging can be enabled by navigating to 
> the Client libraries > Your client library (ex. Java) > Logging 
> documentation, which you can access from this link 
> , so 
> that we can further check and provide precise guidance accordingly.
>
>
> You can provide it via Reply privately to the author option. If this 
> option is not available, then send it instead on this email address 
> googleadsa...@google.com.
>  
>
> Regards,
> [image: Google Logo] Google Ads API Team 
>
>
> ref:_00D1U1174p._5004Q2jYIhK:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/24628125-93b0-4979-aa75-4e1a67360b31n%40googlegroups.com.


Creating an ad_group_ad.image_ad using a media_file

2023-03-10 Thread Adam Walters
I have successfully created a MediaFile within the account and am trying to 
use that to create a Display ad (non-HTML5), but when running this function 
I receive the below error:

def create_display_upload_ad_group_ads(self, ad_group_id, customer_id):

ad_group_ad_operation = client.get_type("AdGroupAdOperation")
ad_group_ad_service = client.get_service("AdGroupAdService")
# Configure the ad group ad fields.
ad_group_ad = ad_group_ad_operation.create
ad_group_ad.status = client.enums.AdGroupAdStatusEnum.ENABLED
ad_group_ad.ad_group = 
client.get_service("AdGroupService").ad_group_path(
self.customer_id, self.ad_group_id
)

# Configured the ad as a display ad.
display_ad = ad_group_ad.ad
display_ad.name = 'Ad Name'
display_ad.final_urls.append(self.landing_page)
display_ad.display_url = 'digible.com'
display_ad.image_ad.media_file = 
"customers/3727734182/mediaFiles/156598151473"

ad_group_ad_service.mutate_ad_group_ads(
customer_id=customer_id, operations=[ad_group_ad_operation]
)

ERROR Recieved:
Request with ID "5baQ0V9cGCiQ5jFaPaRfyg" failed with status 
"INVALID_ARGUMENT" and includes the following errors:
Error with message "The image is not of legal dimensions.".
On field: operations
On field: create
On field: ad
On field: image_ad
On field: media_file

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/67524a4b-5e48-4e71-90ce-65e93be81c4fn%40googlegroups.com.


Re: ERROR: BillingSetup start_time

2022-12-09 Thread Adam Walters
lib/python3.9/site-packages/grpc/_interceptor.py",
line 274, in continuation
response, call = self._thunk(new_method).with_call(
  File
"/Users/adamwalters/digible_repos/Paid_Social_Optimizations/venv/lib/python3.9/site-packages/grpc/_interceptor.py",
line 301, in with_call
return self._with_call(request,
  File
"/Users/adamwalters/digible_repos/Paid_Social_Optimizations/venv/lib/python3.9/site-packages/grpc/_interceptor.py",
line 287, in _with_call
call = self._interceptor.intercept_unary_unary(continuation,
  File
"/Users/adamwalters/digible_repos/Paid_Social_Optimizations/venv/lib/python3.9/site-packages/google/ads/googleads/interceptors/exception_interceptor.py",
line 99, in intercept_unary_unary
self._handle_grpc_failure(response)
  File
"/Users/adamwalters/digible_repos/Paid_Social_Optimizations/venv/lib/python3.9/site-packages/google/ads/googleads/interceptors/exception_interceptor.py",
line 71, in _handle_grpc_failure
raise self._get_error_from_response(response)
google.ads.googleads.errors.GoogleAdsException: (<_InactiveRpcError of RPC
that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Request contains an invalid argument."
debug_error_string = "UNKNOWN:Error received from peer
ipv6:%5B2607:f8b0:4009:81a::200a%5D:443
{created_time:"2022-12-09T13:46:51.151023-05:00", grpc_status:3,
grpc_message:"Request contains an invalid argument."}"
>, <_InactiveRpcError of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Request contains an invalid argument."
debug_error_string = "UNKNOWN:Error received from peer
ipv6:%5B2607:f8b0:4009:81a::200a%5D:443
{created_time:"2022-12-09T13:46:51.151023-05:00", grpc_status:3,
grpc_message:"Request contains an invalid argument."}"
>, errors {
  error_code {
billing_setup_error: FUTURE_START_TIME_PROHIBITED
  }
  message: "A start time in the future cannot be used because there is
currently no active billing setup for this customer."
  location {
field_path_elements {
  field_name: "operation"
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "start_time"
}
  }
}
request_id: "icqFfFFdZ9gH91FEK7AWcA"
, 'icqFfFFdZ9gH91FEK7AWcA')

<https://www.facebook.com/digibleinc/>
<https://www.instagram.com/digibleinc/>
<https://www.linkedin.com/company/digibleinc/>
<https://www.tiktok.com/@digibleinc>



Adam Walters

 Director of Paid Media

 AUTHENTICITY | FOCUS | CURIOSITY | HUMILITY | HAPPINESS

Phone: (317) 840-1645

Email:   a...@digible.com


This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If the reader of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the intended recipient,
you are hereby notified that any dissemination, distribution or copying of
this communication is strictly prohibited.



On Fri, Dec 9, 2022 at 12:18 PM Adam Walters  wrote:

> Hello,
>
> Confirming the start date is set to datetime.now() and that it is being
> made at the same time as the API request. I have re-run the code several
> times and got the same error message. Would you be able to assist me in
> where to pull those request and response logs from? Below is the full error
> message. Also, just to re-iterate the oddity I was experiencing where I
> would receive this error, but if, in the Google Ads UI, I clicked into
> billing then selected Link to Existing Setup, and then exited WITHOUT
> setting up billing, the next time I ran the code it would work as expected.
>
> [2022-12-09 12:11:41,703 - WARNING] Request made: ClientCustomerId:
> 5265225717, Host: googleads.googleapis.com, Method:
> /google.ads.googleads.v11.services.BillingSetupService/MutateBillingSetup,
> RequestId: pz-QrJn0RfhHZnWTn3ygag, IsFault: True, FaultMessage: A start
> time in the future cannot be used because there is currently no active
> billing setup for this customer.
> Traceback (most recent call last):
>   File
> "/Users/adamwalters/digible_repos/Paid_Social_Optimizations/greystar_account_creation/billing_test.py",
> line 87, in 
> billing.setup_billing()
>   File
> "/Users/adamwalters/digible_repos/Paid_Social_Optimizations/greystar_account_creation/billing_test.py",
> line 41, in setup_billing
> response = billing_setup_service.mutate_billing_setup(
>   File
> "/Users/adamwalters/digible_repos/Paid_Social_Optimizations/venv/lib/python3.9/site-packages/google/ads/googleads/v11/services/services/billing_setup_service/client.py",
> line 495, in mutate_billing_setup
> response = rpc(
>   File
&g

Re: ERROR: BillingSetup start_time

2022-12-09 Thread Adam Walters
rminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Request contains an invalid argument."
debug_error_string = "UNKNOWN:Error received from peer
ipv6:%5B2607:f8b0:4009:803::200a%5D:443
{created_time:"2022-12-09T12:11:41.579003-05:00", grpc_status:3,
grpc_message:"Request contains an invalid argument."}"
>, errors {
  error_code {
billing_setup_error: FUTURE_START_TIME_PROHIBITED
  }
  message: "A start time in the future cannot be used because there is
currently no active billing setup for this customer."
  location {
field_path_elements {
  field_name: "operation"
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "start_time"
}
  }
}
request_id: "pz-QrJn0RfhHZnWTn3ygag"
, 'pz-QrJn0RfhHZnWTn3ygag')



<https://www.facebook.com/digibleinc/>
<https://www.instagram.com/digibleinc/>
<https://www.linkedin.com/company/digibleinc/>
<https://www.tiktok.com/@digibleinc>



Adam Walters

 Director of Paid Media

 AUTHENTICITY | FOCUS | CURIOSITY | HUMILITY | HAPPINESS

Phone: (317) 840-1645

Email:   a...@digible.com


This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If the reader of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the intended recipient,
you are hereby notified that any dissemination, distribution or copying of
this communication is strictly prohibited.



On Fri, Dec 9, 2022 at 2:45 AM Google Ads API Forum Advisor
 wrote:

> Hi Adam,
>
> Thanks for reaching out to the Google Ads API Forum.
>
> I can see that you’ve received
> BillingSetupError.FUTURE_START_TIME_PROHIBITED errors. Upon checking the
> details closely that you’ve shared with us, I found that the API request
> contains the start date as datetime.now(). Could you confirm this?
>
>
>
> start_date = datetime.now()
>
> billing_setup.start_date_time = start_date.strftime("%Y-%m-%d %H:%M:%S")
>
> return billing_setup
>
>
>
> Kindly double check your request if you are not setting the future date as
> compared to when the API call was made. To avoid this error, you would need
> to avoid setting a start date in future with respect to API call request
> time.
>
> Also, as a side note, you may double check the latest billing setup ID in
> your request that has a valid start date and end date that doesn’t extend
> beyond its billing setup. Once you confirm it, you may retry your API
> request. Let us know how it goes further. If the error still persists, you
> may provide us with the complete logs in the format of the request
> <https://developers.google.com/google-ads/api/docs/concepts/field-service#request>
> and response
> <https://developers.google.com/google-ads/api/docs/concepts/field-service#response>
> logs along with request-id as seen in their respective links. In addition,
> we recommend you to enable logging to capture complete details if any error
> occurs by navigating to the Client libraries > Your client library (ex
> Python) > Logging documentation, which you can access from this *link*
> <https://developers.google.com/google-ads/api/docs/client-libs>.
>
> Kindly provide the logs to our team via reply privately to the author
> option.
>
> Regards,
> [image: Google Logo]
> Yasar
> Google Ads API Team
>
>
> ref:_00D1U1174p._5004Q2h16Va:ref
>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/CAFNyvFeqKuDO1z6vvz5rjyeZHZ%3DuDvVCDkGyggh-fFpzjjYGCw%40mail.gmail.com.


ERROR: BillingSetup start_time

2022-12-08 Thread Adam Walters
I have consolidated billing set up and am linking brand new accounts to 
those payments_account_id & payments_profile_id

I am using almost exactly the same code that is provided in the examples 
but receive the below error: Also, when running the code I will always get 
the error. However, if I go into the GoogleAds UI and click into Billing > 
Settings and DO NOT setup any billing. After I exist GoogleAds and rerun 
the code it runs perfectly fine. Below are the error and code used.

I am receiving this ERROR:
errors {
  error_code {
billing_setup_error: FUTURE_START_TIME_PROHIBITED
  }
  message: "A start time in the future cannot be used because there is 
currently no active billing setup for this customer."
  location {
field_path_elements {
  field_name: "operation"
}
field_path_elements {
  field_name: "create"
}
field_path_elements {
  field_name: "start_time"
}
  }
}
request_id: "v8fEru_pUG1egwSLFDOTZA"
, 'v8fEru_pUG1egwSLFDOTZA')

Below are the methods used:
def setup_billing(self):
billing_setup = self._create_billing_setup()
billing_setup_operation = client.get_type("BillingSetupOperation")
client.copy_from(billing_setup_operation.create, billing_setup)
billing_setup_service = client.get_service("BillingSetupService")
response = billing_setup_service.mutate_billing_setup(
customer_id=self.customer_id, operation=billing_setup_operation
)
self.billing_setup_id = billing_setup.id
logger.info(
f"Added new billing setup with resource name 
{response.result.resource_name} for cid:{self.customer_id}")


def _create_billing_setup(self):
"""Creates and returns a new billing setup instance.
The new billing setup will have its payment details populated. One of the
payments_account_id or payments_profile_id must be provided.

Returns:
A newly created BillingSetup instance.
"""
billing_setup = self.client.get_type("BillingSetup")

# Sets the appropriate payments account field.
if self.payments_account_id != None:
# If a payments account ID has been provided, set the payments_account
# field to the full resource name of the given payments account ID.
# You can list available payments accounts via the
# PaymentsAccountService's ListPaymentsAccounts method.
billing_setup.payments_account = client.get_service(
"BillingSetupService"
).payments_account_path(self.customer_id, self.payments_account_id)
elif self.payments_profile_id != None:
# Otherwise, create a new payments account by setting the
# payments_account_info field
# See https://support.google.com/google-ads/answer/7268503
# for more information about payments profiles.
billing_setup.payments_account_info.payments_account_name = (
f"Payments Account #{uuid4()}"
)
billing_setup.payments_account_info.payments_profile_id = (
self.payments_profile_id
)
start_date = datetime.now()
billing_setup.start_date_time = start_date.strftime("%Y-%m-%d %H:%M:%S")
return billing_setup

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/367a690d-b2e9-48f1-9490-a94a75aea8e4n%40googlegroups.com.


structured_snippet_feed_item.values ERROR

2022-11-23 Thread Adam Walters
Hello, 

When creating a structured snippet extension via the v11 Google Ads API, 
python. I seem to be running into an issue and cannot find any examples for 
a workaround.

Here is the part of my code where I receive an error and the error:
extension_feed_item8 = extension_feed_item_operation8.create
extension_feed_item8.extension_type = extension_type_enum.STRUCTURED_SNIPPET
extension_feed_item8.structured_snippet_feed_item.header = "Amenities"
extension_feed_item8.structured_snippet_feed_item.values = ["foo", "bar", 
"boo", "far"]

ERROR:
in create_extension_feed_items
extension_feed_item8.structured_snippet_feed_item.values = {"foo", 
"bar", "boo", "far"}
AttributeError: Assignment not allowed to repeated field "values" in 
protocol message object.

Thank you,
Adam

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/d6958d7b-447f-43b3-aa60-a9f3bc80799en%40googlegroups.com.


In-Market & Affinity Campaign Targeting

2022-11-18 Thread Adam Walters
Hello, 

I have been trying to find examples, but have been unable to find any. What 
is the proper way to add an In-Market audience to a campaign via API v11, 
python?

I have tried reworking other targeting criteria examples but have been 
unsuccessful.

Thank you,
Ada,

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/5c509956-c8ee-4a98-88f0-81a6bae3a0e4n%40googlegroups.com.