Hello Phu,
LogicalUserList
l l
l l
In the user interface, it will look like a combination of user lists, but it will have the same behavior that you need.
On Tuesday, December 29, 2015 at 8:08:39 PM UTC-5, take wrote:
-- I have good news! One of our user list experts found a way to do what you want. I'll explain with both a bit of ASCII art and SOAP XML. In this example, we're saying you want people who visited example.com/yes, but not example.com/no.
LogicalUserList
l l
l l
UserListLogicalRule UserListLogicalRule
(operator: ALL) Operator: NONE
| |
| |
ExpressionRuleUserList ExpressionRuleUserList
Rule: url__ CONTAINS example.com/yes Rule: url__ CONTAINS example.com/no
(operator: ALL) Operator: NONE
| |
| |
ExpressionRuleUserList ExpressionRuleUserList
Rule: url__ CONTAINS example.com/yes Rule: url__ CONTAINS example.com/no
You'll want a LogicalUserList. In the LogicalUserList, you need one UserListLogicalRule to have an operator ALL and the other UserListLogicalRule to have an operator NONE. In the ALL UserListLogicalRule, you need to create an ExpressionRuleUserList with all the URLs that you want the user to visit. In the NONE UserListLogicalRule, you want an ExpressionRuleUserList with all the URLs that should NOT have been visited. The key to both these ExpressionRuleUserList rules will be url__ and the operator will be CONTAINS.
This is going to be a two-step process because the ExpressionRuleUserLists have to exist before the adding the LogicalUserList.
Step 1: Create the ExpressionRuleUserLists. Here's the SOAP XML request for that.
<mutate xmlns="https://adwords.google.com/api/adwords/rm/v201601"><operations><operator xmlns="https://adwords.google.com/api/adwords/cm/v201601">ADD</operator><operand xsi:type="ExpressionRuleUserList" ><name>Visited</name><description>Visitors have visited this page.</description><rule><groups><items><StringRuleItem><key><name>url__</name></key><op>CONTAINS</op><value>http://example.com/yes</value></StringRuleItem></items></groups></rule></operand></operations><operations><operator xmlns="https://adwords.google.com/api/adwords/cm/v201601">ADD</operator><operand xsi:type="ExpressionRuleUserList" ><name>Not visited</name><description>Visitors have not visited this page.</description><rule><groups><items><StringRuleItem><key><name>url__</name></key><op>CONTAINS</op><value>http://example.com/no</value></StringRuleItem></items></groups></rule></operand></operations></mutate>Step 2: Create the LogicalUserList with the two ExpressionUserLists that you created earlier. Here's the request:
<mutate xmlns="https://adwords.google.com/api/adwords/rm/v201601"><operations><operator xmlns="https://adwords.google.com/api/adwords/cm/v201601">ADD</operator><operand xsi:type="LogicalUserList" ><name>Visited one site, but not another site.</name><description>Visitors to one site, but not another site.</description><rules><operator>ALL</operator><ruleOperands><UserList xsi:type="ExpressionRuleUserList" ><id>101794822</id><rule><groups><items><StringRuleItem><key><name>url__</name></key><op>CONTAINS</op><value>http://example.com/yes</value></StringRuleItem></items></groups></rule></UserList></ruleOperands></rules><rules><operator>NONE</operator><ruleOperands><UserList xsi:type="ExpressionRuleUserList" ><id>101794942</id><rule><groups><items><StringRuleItem><key><name>url__</name></key><op>CONTAINS</op><value>http://example.com/no</value></StringRuleItem></items></groups></rule></UserList></ruleOperands></rules></operand></operations></mutate>And here's the response. Note that the response has the entire tree of lists in it:
<ns2:mutateResponse xmlns="https://adwords.google.com/api/adwords/cm/v201601" xmlns:ns2="https://adwords.google.com/api/adwords/rm/v201601"><ns2:rval><ListReturnValue.Type>UserListReturnValue</ListReturnValue.Type><ns2:value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:LogicalUserList"><ns2:id>101795182</ns2:id><ns2:isReadOnly>false</ns2:isReadOnly><ns2:name>Visited one site, but not another site.</ns2:name><ns2:description>Visitors to one site, but not another site.</ns2:description><ns2:status>OPEN</ns2:status><ns2:integrationCode></ns2:integrationCode><ns2:accessReason>OWNED</ns2:accessReason><ns2:accountUserListStatus>ACTIVE</ns2:accountUserListStatus><ns2:membershipLifeSpan>30</ns2:membershipLifeSpan><ns2:listType>LOGICAL</ns2:listType><ns2:isEligibleForSearch>true</ns2:isEligibleForSearch><ns2:UserList.Type>LogicalUserList</ns2:UserList.Type><ns2:rules><ns2:operator>ALL</ns2:operator><ns2:ruleOperands><ns2:UserList xsi:type="ns2:ExpressionRuleUserList"><ns2:id>101794822</ns2:id><ns2:isReadOnly>true</ns2:isReadOnly><ns2:name>Visited</ns2:name><ns2:listType>RULE_BASED</ns2:listType><ns2:UserList.Type>ExpressionRuleUserList</ns2:UserList.Type><ns2:rule><ns2:groups><ns2:items><ns2:StringRuleItem><ns2:key><ns2:name>url__</ns2:name></ns2:key><ns2:op>CONTAINS</ns2:op><ns2:value>http://example.com/yes</ns2:value></ns2:StringRuleItem></ns2:items></ns2:groups></ns2:rule></ns2:UserList></ns2:ruleOperands><ns2:ruleOperands><ns2:UserList xsi:type="ns2:ExpressionRuleUserList"><ns2:id>101794942</ns2:id><ns2:isReadOnly>true</ns2:isReadOnly><ns2:name>Not visited</ns2:name><ns2:listType>RULE_BASED</ns2:listType><ns2:UserList.Type>ExpressionRuleUserList</ns2:UserList.Type><ns2:rule><ns2:groups><ns2:items><ns2:StringRuleItem><ns2:key><ns2:name>url__</ns2:name></ns2:key><ns2:op>NOT_CONTAIN</ns2:op><ns2:value>http://example.com/no</ns2:value></ns2:StringRuleItem></ns2:items></ns2:groups></ns2:rule></ns2:UserList></ns2:ruleOperands></ns2:rules></ns2:value></ns2:rval></ns2:mutateResponse>In the user interface, it will look like a combination of user lists, but it will have the same behavior that you need.
Cheers,
Nadine, AdWords API Team
On Tuesday, December 29, 2015 at 8:08:39 PM UTC-5, take wrote:
Dear Nadine,I have also tried to use LogicalUserList to combine more than one ExpressionRuleUserList but I think it is used for option "Custom Combination".I'm looking forward to hearing from you soon.Thanks & Best regards,Phu.
On Wednesday, December 30, 2015 at 1:50:17 AM UTC+7, Nadine Sundquist (AdWords API Team) wrote:Hi Phu,It turns out that this one is a bit more difficult than I originally thought. I've tried a few combinations of LogicalUserList and ExpressionRuleUserList to see if I could get this to work, but I've been unsuccessful so far. I've sent this over to some of my teammates to see if they've done this before. I'll get back to you as soon as I hear back from them. Sometimes there isn't a one to one correlation between the user interface and the API, which is why I'm double-checking with a few people here who have worked more with remarketing.Best,Nadine, AdWords API Team
On Tuesday, December 29, 2015 at 9:01:24 AM UTC-5, Phu Le Tan wrote:Dear Nadine and Adwords API Team,Thank you for your instructions. I have already read Using built-in remarketing tag parameters. but it doesn't workThe rule based remarketing list with StringRuleItem , RuleItemGroup and ExpressionRuleUserList just help to create rule for option Visitors of a pageIn API guides, I don't know any object to distinct between "Visitors of a page" and "Visitors of a page who did not visit another page"Please give me next suggestionThanks & Best regards,Phu.
On Tuesday, December 29, 2015 at 1:58:37 AM UTC+7, Nadine Sundquist (AdWords API Team) wrote:Hello Phu,You're starting to get into more advanced usage, so you'll want to check out our guide on rule based ramarketing lists. The section you'll want to focus on is Using built-in remarketing tag parameters. In that section, it shows a piece of code where there's a rule saying that the URL CONTAINS a string. In your case, you would want to also add a NOT_CONTAINS rule for specific URLs. The op field in StringRuleItem shows the kinds of operators allowed in rules.Regards,Nadine, AdWords API Team
On Monday, December 28, 2015 at 12:03:30 AM UTC-5, take wrote:Dear AdWords API Team,Based on your guides, https://developers.google.com/adwords/api/docs/ , we have implemented option "Visitors of a page"guides/remarketing# remarketing-to-visitors-of- your-website But with option "Visitors of a page who did not visit another page", we don't see explanation or sample codes in guides.Maybe we do not understand clearly. Please help meThanks & Best regards,Phu.
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords 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+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 the Google Groups "AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, 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/2cddc838-6ee4-4965-bb94-129f0fe8b000%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment