How to implement remarketing function with option "Visitors of a page who did not visit another page"

135 views
Skip to first unread message

take

unread,
Dec 28, 2015, 12:03:30 AM12/28/15
to AdWords API Forum, ttn...@lockon-vn.com, pn...@lockon-vn.com, lt...@lockon-vn.com
Dear AdWords API Team,

Based on your guides, https://developers.google.com/adwords/api/docs/guides/remarketing#remarketing-to-visitors-of-your-website, we have implemented option "Visitors of a page"

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 me


Thanks & Best regards,

Phu.
Visitors_of_a_page_who_did_not_visit_another_page.png

Nadine Sundquist (AdWords API Team)

unread,
Dec 28, 2015, 1:58:37 PM12/28/15
to AdWords API Forum, ttn...@lockon-vn.com, pn...@lockon-vn.com, lt...@lockon-vn.com
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

take

unread,
Dec 29, 2015, 6:31:51 AM12/29/15
to AdWords API Forum, ttn...@lockon-vn.com, pn...@lockon-vn.com, lt...@lockon-vn.com
Dear Nadine and AdWords API Team,

Thank you for your support.

I have already read your guide on rule based remarketing lists. But it does'nt help me. Anything I create by using StringRuleItem, adding multiple rule items to RuleItemGroup and create user list  with ExpressionRuleUserList just  apply for option "Visitors of a page"

In API guides, I don't see anything help to distinct between option "Visitors of a page" and option "Visitors of a page who did not visit another page"

Please give me more suggestion

Thanks & Best regards,
Phu

Phu Le Tan

unread,
Dec 29, 2015, 9:01:24 AM12/29/15
to AdWords API Forum, ttn...@lockon-vn.com, pn...@lockon-vn.com, lt...@lockon-vn.com
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 work

The rule based remarketing list with StringRuleItem , RuleItemGroup and ExpressionRuleUserList just help to create rule for option Visitors of a page

In 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 suggestion

Thanks & Best regards,
Phu.



On Tuesday, December 29, 2015 at 1:58:37 AM UTC+7, Nadine Sundquist (AdWords API Team) wrote:

Nadine Sundquist (AdWords API Team)

unread,
Dec 29, 2015, 1:50:17 PM12/29/15
to AdWords API Forum, ttn...@lockon-vn.com, pn...@lockon-vn.com, lt...@lockon-vn.com
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

take

unread,
Dec 29, 2015, 8:08:39 PM12/29/15
to AdWords API Forum, ttn...@lockon-vn.com, pn...@lockon-vn.com, lt...@lockon-vn.com
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.

Nadine Sundquist (AdWords API Team)

unread,
Feb 4, 2016, 6:41:06 PM2/4/16
to AdWords API Forum, ttn...@lockon-vn.com, pn...@lockon-vn.com, lt...@lockon-vn.com
Hello Phu,

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

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
Reply all
Reply to author
Forward
0 new messages