Unsegmenting vs suppression segments

[UPDATE 07/01/2019] I have changed the operator in the trait expressions. Thanks Glenn!

Initially, when we think of segments (or clusters) for ad segmentation, we think of ever-growing groups of cookies. Simple use case like purchasers, visitors to our website, subscribers to a newsletter or owners of a device fit in this model. However, advanced (and not so advanced) use cases do not work well with this model, where we have visitors entering and leaving regularly a segment, so a segment can shrink in size:

  • Retargeting dropped baskets: the moment someone places an order, you do not want to retarget him again
  • Customers of a mobile operator: it is very common nowadays to switch to a different provider frequently
  • Age group: ever day, visitors enter one particular age group or leave it, as people grow older


The first and most natural solution to the advanced use cases is to create traits for the condition to enter a segment and the condition to exit a segment. This is what some of us call unsegmenting.

Let’s take the case of retargeting dropped baskets for visitors who have added a “mobile” product. In Adobe Audience Manager, you would create two traits and one segment as follows:

  • Trait: Added mobile to the basket
  • Trait: Purchased mobile
  • Segment: Dropped baskets with mobile

Following the logic, the moment a visitor adds “mobile” to the basket but has not purchase it, he qualify for the segment. The moment when this same visitor purchases the “mobile” product, he will be removed from the segment. Between these two moments, you can target the visitor with ads about “mobile”, both on-site or through ad networks. AAM will take care of this automatically:

  • For cookie based destinations, DIL will update the cookie, either adding or removing the mapping
  • For server-to-server destinations, AAM will ping the other server, notifying of the changes

Suppression segments

Unfortunately, many DSPs do not support removing visitors from segments, even if AAM sends the information. As shocking as it may sound, it is still far too common. I can tell from my personal experience that many of my customers, when we tell them that there is this limitation, stare at us with a blank face, not understanding what we are telling them. It is like they cannot believe us.

Fortunately, not all is lost. Most DSPs support what some call suppression segments. I have also heard the name of negative segments and I am sure there are many more names. The idea is to create two segments: one with the conditions to enter the use case and another with the conditions to leave the use case. In our previous example, you would need to create two segments: one with just the first trait and another with just the second trait. Both segments need to be mapped to the destination of your choice (the DSP).

Then, you need to discuss with your account manager at the DSP and ask her to combine these two segments with and AND NOT.


Final thoughts

Although this solution tends to work with most of the DSPs, it is still a waste of time: you need to create an extra segment, map both to the destination and work with the DSP. Our request to our AAM clients is to put some pressure on your DSPs and request them to support unsegmenting natively. As I have already said, AAM already supports it and can send it to DSPs.

7 thoughts on “Unsegmenting vs suppression segments”

  1. Hello Pedro,

    I like your blog very much. There is a lot of valuable information here. I have one basic question about the Unsegmenting process above however. In the example, you show what appear to be OR statements (AAM defaults to OR right?). An or would qualify for “Added Mobile to the Basket”.

    Also, does the trait expression box occur a the hit level? I know the segment builder in AAM occurs at the visit level which is causing me some grief building segments.

    • Hi Glenn,
      You are absolutely right. The default operator is OR and, in this case, we need an AND. I have updated the images.
      Regarding your question, you are right again. Traits are evaluated at hit level, whereas segments are at visitor level. What is causing you trouble?
      Thank you very much for letting me know of my error and for reading my blog! 🙂

  2. Hi Pedro,

    Thank you for your response. I was struggling with how to build a real time segment for a cart abandonment situation but I think, with your help, I’ve got it now (esp. that I now know that the trait is at the hit level). I was hoping to show you screenshots of the build but I cannot in this environment. I followed your post:
    Segment includes “Product added to Cart” trait (c_pagename == order:cart:checkout) AND NOT “Has Ordered on App OR Web” trait (c_events contains purchase).
    I am wondering about the TTL in this, and other, situations however. Have you posted about best practices for that?
    Keep the posts coming. I’m reading them all from 2015 today. Glenn

    • Hi Glenn,
      TTL is only applicable to traits. Segments are evaluated on every page view (real time destinations) or every day (batch events) and AAM will consider the traits that are available at the moment of evaluation. So, think about the TTL for each of the traits that best work for you.
      Regarding best practices, I haven’t written about them and I am not sure I could write about them, as they can be tricky.
      Thanks for following me!

  3. Hi Pedro

    I have been following your blogs from sometime now and I must say you write amazing blogs.

    I have a very simple question, if the status coming from Adobe Analytics (e.g. evar1) of the user changes from Silver to Gold then will user qualify for both the AAM traits, where Trait 1-> evar1==”silver” and Trait 2 -> evar1==”gold”? Do we have to use unsegmented strategy for this or the user will automatically get removed from Trait 1 and added to Trait 2?


    • Thanks for following my blog!

      In your example, you would qualify for both traits. Currently, there is no feature to unqualify from a trait when you qualify for another. However, what you could do is play with the trait’s TTL and create a segment like:

      Segment Silver: Trait1 AND NOT Trait2
      Segment Gold: Trait2

      When you move from Silver to Gold, you unqualify for Segment Silver. However, when you move back from Gold to Silver, it does not work. This is why you would need to play with the TTL, so you can qualify again soon.

      Hope this helps!


Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.