When I was following the Adobe Audience Manager training, I remember that one of the topics I found most difficult to understand was ID syncing. The enablers spent a lot of time using these words and I could see that it was a key part of any DMP. Once I finally understood what it meant, I felt relieved. Today I will explain this concept, in case you are also stuck.
In an Adobe Audience Manager implementation, the first and most important data source is the data you already own. Then, when no more juice can be squeezed from first party data, we switch to purchasing third party data. Finally, in some cases, we go beyond and look for second party data. Today, I will focus on this last resort, which can be more interesting than what it initially looks like.
Have you ever received a request to track and detect online shopping cart abandonments in real time? If you have, then you are not alone. This is a typical request we get from our clients and I have seen too many times. The theory is very simple: if we can detect that a user has added something to the basket but has not purchased it, then we need to persuade him to finish the process. However, the reality is more complicated than just that. Let me explain what I usually discuss with my customers and what options do we have.
If you are working with a DMP like Adobe Audience Manager, I am sure you have come across the following problem: you want to target your visitors on site, immediately after they log in, using on-boarded data, even on the first visit. This last statement is, precisely, where the problem is. The way AAM processes on-boarded data is as follows:
- You upload your CRM data to AAM, either to an SFTP location or an S3 bucket
- Every 12h, AAM reads all on-boarded data and processes it, converting the signals into traits
- The traits are stored in the core servers
- A visitor logs in for the first time
- Since the communication between the browser and AAM is done through the edge servers, these servers have at this moment in time no on-boarded information for that visitor
- The edge servers where this visitor activity has happened, request the on-boarded traits to the core servers
- In a batch process, core servers send to the edge server the visitor’s on-boarded information
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
Before I started working with Adobe Audience Manager, I had a very limited knowledge of the on-line advertising market. In the past, I had managed Google AdWords campaigns, but that was all I knew. Now that I have been working for some time with a few AAM customers, I have realised that the market for on-line campaigns is huge. There are many actors involved: agencies, trading desks, DMPs, DSPs, SSPs… I still have to learn more about this market.
Today’s post is going to be a different form the last few posts, a bit more hands-on.
One of the typical questions I get from my AAM customers is “how do I detect a user browsing with an iPhone [model]”. The only solution we have to reliably detect the device is through the User-Agent. Although this should be very simple, in theory, there is one problem: Apple does not want you to detect the iPhone model. Android devices include in the User-Agent the name of the device, or enough information to get it from there. However, Safari browsers include the device type (iPod, iPad or iPhone) and the iOS version, with no hint of the model.
This is my first attempt to write an opinion article. I had it in my mind for some time, but the sparkle was a question during my talk at the London Analytics Labs. One attendee asked me about the future of on-line advertising if 3rd party cookies and/or ads were blocked from all browsers. So, this is my point of view.
In my experience as an Adobe Audience Manager consultant, I have noticed that many clients need a lot of hand-holding at the beginning when working with this DMP. Coming from the Web analytics world, this was a bit of a surprise to me at the beginning. I remember when I started an Adobe Analytics project I worked on 6 months ago, one of the client teams had a spreadsheet with 138 requirements… and that was only one of the teams involved. They knew exactly what they needed from the tool, which made my life easier. However, this is rarely the case in an AAM project.
In order to get some quick wins, we recommend to start with the low-hanging fruits. For your first few campaigns, do not try to create very complex rules for segments. Instead, think about easy rules that only require online behaviour. Here are a few of them:
- Exclude customers from prospecting campaigns. This is probably the easiest case and the one that makes most sense: stop showing prospecting ads to users that are already customers; you are 99% sure they are not going to convert. This is as simple as creating a segment with customers and send it to the DSPs. Then, using the exclusion capabilities of the DSPs, exclude the visitors in that segments from the prospecting campaign. One of my customers had a drop of about 20% in the cost per acquisition just using this technique. If you use AAM with Adobe Analytics, here you have a few examples of the traits you can use to detect that a visitor is a customer:
- The log-in event has been fired: (c_events contains “eventX”)
- If you are capturing the CRM ID in an eVar or prop, then something as simple as (c_evarX/c_propY matchesregex “.+”) should do the trick
- Any page of the private section (e.g. c_pagename == “my:private:area”)
- Depending on what you sell, it can be as simple as users who have purchased something: (c_events contains “purchase”)
- Include only local visitors or exclude non-local visitors. Very similar to the previous case, if you have a business that only sells locally, you do not want to waste any money on banners shown to visitors that come form regions where you are not going to delivery your goods. In AAM, this is very easy with geotargeting with platform-level keys.
- Retargeting abandoned baskets. For all of those products that provide you with a high margin, you can create segments with users who have abandoned the basket with those products in it. You then create very specific retargeting campaigns using these segments. The segments will formed of two traits: “Add to basket – <product id>” AND NOT “Purchase – <product id>”
- Add to basket: (c_events contains “scAdd” AND c_products contains <product id>)
- Purchase: (c_events contains “purchase” AND c_products contains <product id>)
- Up-sell or cross-sell. Target customers that have recently purchased certain products, customers who your experience (or your Web analytics data) shows that they are very likely to convert again. This is as simple as the previous example: (c_events contains “purchase” AND c_products contains <product id>)
- Frequency capping. If a user has seen a campaign more than X number of times, stop showing the campaign to him. You need to decide which is the optimal X, but we all know that after a certain amount of times, if the user has not clicked on a banner, it is very unlikely that he will do it in the future. In AAM, you would use the frequency and recency capability of the segment builder.
What do you think about these initial segments? Any other segments you would recommend as low-hanging fruits?