We have migrated our application from Adwords to Google Ads API and we have
encountered multiple challenges that we have resolved as they came by
reference your documentation or following previous posts here but now we
have reached at stopping point which I think I know why but would need your
help with some advice.
I will start describing what we have done so far. First we migrated as
mentioned before to Google Ads API before when we used Adwords we where
able to submit a whole audience so the first issue we encountered was
hitting a rate limit that indicate us that is a maximum of 20
OfflineUserDataJobOperation per request so we refactored our code to
accommodate to that using the example in your documentation and then I
started getting a second error that was related with concurrency. I
implemented the solution someone in your team suggested to other person add
a delay of 30 second per request and add a retry logic that seems like
resolved that issue. Started to see some segments audiences getting
populated but suddenly they stop populating. After giving a second look to
your code I saw a problem with it and is an issue I see it in our as well
as we used yours as
reference
https://developers.google.com/google-ads/api/docs/remarketing/audience-types/customer-match.
Our primary language is python. On that code I see the UserDataJobOperation
been created but not set back to OfflineUserDataJobOperation I have try to
return the User data object as that is what made more sense but I get error
sending userData expected OfflineUserDataJobOperation. I saw back your
example and the OfflineUserDataJobOperation is used to create the UserData
but dont set that back to it so left it like you have it even when looks
wrong and for me surprise worked somehow for a couple days but now is not
longer doing it.
def _build_offline_user_data_job_operation(self, client, operation,
customer_record):
"""Builds and returns two sample offline user data job operations.
Args:
client: The Google Ads client.
Returns:
A list containing the operations.
"""
offline_user_data_operation = client.get_type(
"OfflineUserDataJobOperation"
)
if operation == 'add':
user_data_operation = offline_user_data_operation.create
else:
user_data_operation = offline_user_data_operation.remove
# Creates a first user data based on an email address.
user_identifier_with_hashed_email = client.get_type("UserIdentifier")
# Hash normalized email addresses based on SHA-256 hashing algorithm.
user_identifier_with_hashed_email.hashed_email =
self._normalize_and_hash(customer_record['email'])
user_data_operation.user_identifiers.append(
user_identifier_with_hashed_email
)
return offline_user_data_operation
That is a snipped of our code I think what is needed is set that back that
user_data_operation with the offline_user_data_operation and then should be
work as expected.
I have logs records of the API hitting you and said the job was created
successfully in your end with status running but is not populating the
audience segment anymore. Also I have an example one that got populated
previously.
Please advice we will 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/adwords-api/c3c14722-7bab-4d10-8ccf-4a74caf6083cn%40googlegroups.com.