Is it possible to dynamically update a Customer Match audience?

1,805 views
Skip to first unread message

Jeremie

unread,
May 9, 2016, 9:22:04 AM5/9/16
to AdWords API Forum
Hi guys,

I'm investigating the new Customer Match audience feature that looks really cool to retarget my members. However, i wonder if there is a way to add automatically new emails to this audience. I don't want to have to upload a new file every day. For example, I could easily populate a Google Docs Spreadsheet with new customers' emails using an external service like Zapier, if I can get an Adwords script to run on a regular basis to scan the spreadsheet and add the email to the audience.

It looks like the March 2016 Reference guide introduces a new object that could allow to deal with that called CustomerMatchUploaderService. However, I got a 404 error when trying to access the pages related to it: https://developers.google.com/adwords/api/docs/reference/v201603/CustomerMatchUploaderService

If you can get back these pages online, that would be great. And If you have a few lines of script that allow to add a new email to the audience, I could deal with it.

Thanks a lot in advance!
Cheers,
Jeremie
Message has been deleted

Shwetha Vastrad (AdWords API Team)

unread,
May 9, 2016, 2:24:16 PM5/9/16
to AdWords API Forum
Hi Jeremie,

You can use the AdwordsUserListService to add a CrmBasedUserList for remarketing to audiences. The AddCrmBasedUserList Java example demonstrates how to add a Remarketing list and upload email addresses to populate the list. You can use this as a reference and upload the email addresses from your spreadsheet and have a script perform this function periodically.

Regards,
Shwetha
AdWords API Team.

Jeremie

unread,
May 11, 2016, 2:39:22 PM5/11/16
to AdWords API Forum
Hi Shwetha,

Thanks for the reply.

It looks like I have to create a new CrmBasedUserList object each time, and upload the full list of emails. Am I right? In the various pages that deal with this object, I can only find scripts that create a new one and populate it.

This does not help for large lists, because it would take several minutes/hours to do so, plus I would have to update the audience at ads group level each time.

Is there a way to use an existing CrmBasedUserList object, and simply add new emails, without having to reupload everything. If you have the few lines of code that can allow me to open an existing CrmBasedUserList object, that would be great.

Thanks,
Jeremie

Shwetha Vastrad (AdWords API Team)

unread,
May 11, 2016, 3:34:27 PM5/11/16
to AdWords API Forum
Hi Jeremie,

To add new emails to a CrmBasedUserList, use a selector like the one below to get the Id of the User List you want to update.

            <serviceSelector>
                <fields>Id</fields>
                <fields>Name</fields>
                <fields>ListType</fields>
                <predicates>
                    <field>Name</field>
                    <operator>EQUALS</operator>
                    <values>ListName</values>
                </predicates>
            </serviceSelector> 

Once you have the Id, you can add emails to the user list using the Id retrieved above using a Mutate operation as described below:

       <mutateMembers>
            <operations>
                <operator>ADD</operator>
                <operand>
                    <userListId>UserListId</userListId>
                    <dataType>EMAIL_SHA256</dataType>
                    <members>HashedEmailAddress1</members>
                    <members>HashedEmailAddress2</members>
                    <members>HashedEmailAddress3</members>
                </operand>
            </operations>
        </mutateMembers>

This is how the SOAP request should look like. You can use the client libraries to achieve the same result.

Regards,
Shwetha, AdWords API Team.

Jeremie

unread,
May 13, 2016, 12:23:38 PM5/13/16
to AdWords API Forum
Thanks a lot, I'll try this

Prashant Pandey

unread,
May 15, 2018, 5:46:06 AM5/15/18
to AdWords API and Google Ads API Forum
Hi Jeremie,
Can you help me know if the solution mentioned by Shwetha has worked for you or not? 
Thanks for the help.

Teja Makani

unread,
May 15, 2018, 2:13:52 PM5/15/18
to AdWords API and Google Ads API Forum
Hello Prashant,

I am from AdWords API Team. If you are facing any issues while following the solution mentioned earlier by Shwetha, could you please elaborate your question and also share the logs for us to investigate further? You could reply privately to author while sharing the logs.

Regards,
Sai Teja, AdWords API Team.

Prashant Pandey

unread,
May 21, 2018, 5:15:05 PM5/21/18
to AdWords API and Google Ads API Forum
Hi Sai,
Thanks for the above solution from Shweta, it worked. I have few queries regarding the best practices only for customer match and few issues regarding the structure of your adWords accounts.

1. In what all cases will I get rateLimit errors. There are examples related to it but not related to customer match. Can you please help me in this?
    Consider a scenario where I have to upload 50million emails. What should be the number of request and number of threads? As far as I have understood , 
    I can do this is 50million/10000 = 50,000 mutateOperation calls. How frequently can I make these calls? In what case will I get rateLimit?
2. If BatchJob is not supporting MutateOperation then its expected that I have to create my own batch service?  (I have done it but just asking)
3. The use case is - I am providing my customers (around 10000 customers)  the capability to upload emails to "their" adwords account. I have created a developer token (for test-account) for now for development purpose. I want to know , Am I acting as a manager account for my customers? 
    If yes! then is there any limit on number of customers a manager account can have?
    if No! then is it fine for me to give my large customer base the capability to connect their adwords account with my dashboard and upload emails to their adwords account?
4. Also is there any internal documentation only on Customer Match API? I have followed this and there is no hint of RateLimiting and best pratices here. 
5. I am ready to go live in production with my code , but before that I have to get standard access developer token correct? How many days does it take to approve that code? 

Thanks for all the help here man! 
Much appreciated

Teja Makani

unread,
May 22, 2018, 3:08:28 PM5/22/18
to AdWords API and Google Ads API Forum
Hello Prashant,

I see that you already posted the first two questions on a new thread and Bharani has answered those on that thread. Please try to avoid posting duplicates to help us keep a better track of the issues. Please find my response for questions 3 to 5 below:
  1. The use case is - I am providing my customers (around 10000 customers)  the capability to upload emails to "their" adwords account. I have created a developer token (for test-account) for now for development purpose. I want to know , Am I acting as a manager account for my customers? If yes! then is there any limit on number of customers a manager account can have? if No! then is it fine for me to give my large customer base the capability to connect their adwords account with my dashboard and upload emails to their adwords account?
  1. There is a limit depending on the highest amount accounts together spent in a month, from the last 12 months the maximum account limit varies from a limit of 50 accounts for less than $10,000 and 2,500 accounts for a spent between $10,000 to $500,000. The limit is 85,000 accounts for spent greater than $500,000. You could refer this guide to know more about account limits for a manager account.

  1. Also is there any internal documentation only on Customer Match API? I have followed this and there is no hint of RateLimiting and best pratices here.
  1. You can refer this guide to know more about customer match user lists. You could also refer to details about rate limit here and best practices from this guide.

  1. I am ready to go live in production with my code , but before that I have to get standard access developer token correct? How many days does it take to approve that code? 
  1. It is not necessary to have a standard access to go live in production, you can also use a developer token with basic access. In case you are doing more than 10,000 API operations per day or more than 1,000 report downloads in a day then you can request for standard access. Most of the times our API compliance team will get back to you within a business day after submitting the standard access application form
Let me know if you have any further questions.

Prashant Pandey

unread,
May 24, 2018, 12:57:14 AM5/24/18
to adwordsapia...@google.com, AdWords API and Google Ads API Forum
There is a limit depending on the highest amount accounts together spent in a month, from the last 12 months the maximum account limit varies from a limit of 50 accounts for less than $10,000 and 2,500 accounts for a spent between $10,000 to $500,000. The limit is 85,000 accounts for spent greater than $500,000. You could refer this guide to know more about account limits for a manager account.
I am sorry but I think I have framed my question wrong.
Scenario - A customer using this gives my firm the access to upload emails on their behalf to their adWords account (to create audiences). I want to understand, in what way does my adWords account (the account with which the developer token , used to make API calls, is associated) gets related/connected to my customers adWords account (which gives me refresh-token via the above method). Do I become their Manager account? Or do I remain unconnected? 



PS: sorry for the duplicity, It took 2/3 days for my question to be posted here so I thought it was rejected, hence made a new one.  

--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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 adwor...@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscribe@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 a topic in the Google Groups "AdWords API and Google Ads API Forum" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/adwords-api/ch1kAsmp1rk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to adwords-api+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/0c5e2f3b-b4a4-4bcc-a1dd-5f2345fcd018%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--

Teja Makani

unread,
May 24, 2018, 3:34:35 PM5/24/18
to AdWords API and Google Ads API Forum
Hello Prashant,

The way your accounts are connected will depend on how you were given access to the client's account. Please take a look at the different options below:
  1. You are added as a user on the client's account: In this scenario, your accounts are not linked. However, your login will have access to two accounts one of which is your own AdWords account and the second account is the client's account.
  2. While setting up the OAuth, an admin user on the client's account authenticated your URL (manually accepted the prompt and generated the authorization code): In this case, you will then use this authorization code to generate the refresh token. The API calls are being made as the user who authenticated the call. The API will have the same access level as the user who authenticated. Your account and client's accounts are not linked.
  3. Your MCC account which has the developer token was linked to the client's account: In this case, the accounts are physically linked. 
If you are still having questions, could you please share the client customer id of the client's account, client customer id of your account along with the email address using to make the API call? I can take a closer look. You could use reply privately to the author while sharing the details. 
Reply all
Reply to author
Forward
0 new messages