Expand my Community achievements bar.

Adobe Target: Tuesday Tech Bytes - The Art of Balance: Cross-device frequency capping using mbox3rdPartyId

Avatar

Community Advisor

7/23/24

AdobeStock_190930233.jpeg

 

 

 

In the previous article, we examined the detrimental effects of marketing fatigue on customer experience and its subsequent impact on business objectives. Marketing fatigue occurs when customers are overwhelmed by excessive marketing messages, leading to disengagement, irritation, and ultimately, a negative perception of the brand.

To address this issue, we explored the concept of frequency capping as a solution. Frequency capping involves setting limits on the number of times a particular marketing message is shown to an individual within a specific time frame.

Furthermore, we discussed the implementation of frequency capping on a single device using Adobe Target's profile-scripts functionality.

In today's ever-changing digital landscape, customers are increasingly connected across multiple devices, from smartphones and tablets to laptops and smartwatches. According a survey by Statista - the average number of devices per person in 2023 was 3.6. These numbers are staggeringly high in Western Europe - 9.6 and even higher in North America - 13.4 devices per person. 

statistic_id1190270_global-number-of-devices-and-connections-per-capita-2018-2023.png

 

Cross-device Frequency capping:

This multi-device usage presents a significant challenge for marketers striving to deliver personalised and engaging experiences while avoiding the pitfalls of marketing fatigue. Cross-device frequency capping becomes imperative in such a scenario. This approach involves coordinating and synchronising frequency capping efforts across all the devices associated with an individual user. By ensuring that a consistent and optimised frequency of marketing messages is maintained across all devices, marketers can mitigate the risk of overwhelming customers with redundant or excessive content.

In simpler words, instead of relying on how many times an experience was presented to a visitor on a specific device - the frequency is calculated across all the devices where that particular experience was delivered.

This article discusses a couple of approaches to achieve cross-device frequency capping using Adobe Target. Please note that we will discuss same website being accessed on multiple devices. We'll discuss cross-platform frequency-capping in the next article. 

Prerequisites:

Before we delve deep into the approaches - lets understand how any multi-device synching works. As we are discussing a single visitor using multiple devices - this requires visitors to be identified uniquely across these devices. Traditionally, it requires the visitor to login or provide an identifier e.g. CRM-id which helps personalisation platforms to identify the visitor as a single person.

Using a login approach is one of the most reliable methods for uniquely identifying visitors across multiple devices. When a visitor logs in to a website or application, they provide a unique identifier, such as an email address, username, or customer ID. This identifier serves as a link between the visitor's various devices and enables personalisation platforms to recognise them as a single individual.

While there are other techniques like IP-addresses, device finger-printing - we'll stick to the email-based login approach in this article. 

 

Rajneesh_Gautam__0-1721216554048.png

Privacy - an important consideration:

As identifying visitors across devices involves PII (Personal Identifiable Information), it's important to consider privacy and security implications. Visitors must trust that their personal information is being handled securely, and businesses must comply with relevant data protection regulations, such as GDPR in Europe or CCPA in California, to safeguard visitor privacy rights. Additionally, businesses should offer clear opt-in/opt-out mechanisms and transparent communication regarding data usage practices to maintain trust with their audience.

Cross-device Frequency capping  - Solutions in Adobe Target:

While the underlying technique of using profile-scripts remains same, Adobe Target offers two solutions to identify visitors across devices.  

 

Rajneesh_Gautam__0-1710893690151.png

The choice between the two approaches depends upon whether you use Adobe Target as a standalone Adobe solution or you have other solutions such as Adobe Analytics. If you use multiple Adobe products then its assumed Adobe Experience Cloud ID Service is implemented - which enables data-sharing across these tools.

 

Rajneesh_Gautam__0-1721599973614.png

 

Its not recommended to use both approaches for single visitor-id as it may lead to inconsistent behaviour. Please plan carefully in advance. 

Introduction to mbox3rdPartyId

If you do not use ECID service then Adobe Target provides a powerful mechanism to identify visitors across devices - mbox3rdPartyId. You can consider this as a special parameter which contains customer's identifier, stored within a visitor-profile. 

When a customer visits a website or mobile-app, Adobe Target creates a visitor-profile. For each device, a new visitor-profile is created, if it does not exist already. So if Joe 5 devices to visits abc.com, Adobe Target contains 5 visitor profiles for him (of course new profiles are created if Joe deletes cookies).  To integrate data across all these profiles - developers need to pass a common identifier from all these devices. This identifier is mbox3rdPartyId and it contains the customer-identifier which must be same for Joe across all devices (in our example, its Joe's email address - joe@mydomain.com) .

 

Using mbox3rdPartyId for cross-device frequency-capping:

The overall approach of cross-device frequency capping is similar to single-device frequency capping. The biggest difference is that we need to pass mbox3rdPartyId key-value from all the platforms where customers may identify themselves. Other steps of passing the unique experience-identifier, configuring profile-scripts and building audiences using profile-scripts should be followed in the same way as defined in the previous article

The overall process can be broken into 4 steps:

Rajneesh_Gautam__2-1721601374815.png

 

Step 1: Select a common customer-identifier:

Since the customer identifier acts as the glue that links multiple visitor profiles, it's crucial to carefully select an identifier that remains consistent across all platforms (website, mobile app) for a single customer. In our example, its customer's email address.

Step 2: Retrieve the customer-identifier on all platforms

Users may access the services provided by your brand by multiple platforms. For example, customer of a Telecom brand may use website as well as mobile app to access their account, check bills, buy new products, upgrade, seek support and so on. Such brands may show personalised experiences across all these platforms and therefore should pass the customer-identifier upon successful identification. 

This operation typically requires a call to CRM system and possibly another step to encrypt/hash the identifier, if it uses any PII information. In our example, we have omitted this step for simplicity sake - please work with your privacy and security teams while implementing this step in a real-world scenario.

The outcome of this step is the final customer-identifier available in the data-layer (for client-sideimplementations) or to the context of your application (for server-side implementations)

Step 3: Pass mbox3rdPartyId to Adobe Target:

Once the customer-identifier is available, this can be passed as the value of mbox3rdPartyId in multiple ways:

 

Approach to pass mbox3rdParty ID Documentation/Syntax

AT.js - use targetPageParams(), trackEvent() or in-line mbox-parameters

targetPageParams = function() {
  return {
    "mbox3rdPartyId": "<CUSTOMER_IDENTIFIER>"
  };
};
WebSDK - WebSDK requires mbox3rdPartyId to be configured as Target Third Party Namespace in your Datastream. Please refer to the documentation.  https://experienceleague.adobe.com/en/docs/experience-platform/web-sdk/personalization/adobe-target/using-mbox-3rdpartyid 
Delivery API - For server-side solutions, mbox3rdpartyid can be passed using Delivery APIs as well. Note that the name of parameter is different in this case. 
 {
     "context":{
       "channel":"web"
     },
     "id": {
         "thirdPartyId": "<CUSTOMER_IDENTIFIER>"
     },
     "experienceCloud" : {     
       "analytics": {
         "logging": "client_side"
       }
     },
     "execute": {
       "pageLoad" : 
       {
         "parameters": {
           "a": 1,
           "b": 2
         },
         "profileParameters" : {
             "frequencycap": "1"
         }
       }
    }
}
Single and Bulk upload APIs - mbox3rdPartyId can also be passed using the profile upload APIs. 
http://<YOUR-CLIENT-CODE>.tt.omtrdc.net/m2/<YOUR-CLIENT-CODE>/profile/update?mbox3rdPartyId=<CUSTOMER-IDENTIFIER>&profile.attr1=0&profile.attr2=1...

 

Here's an example of how the payload of an Adobe Target call with mbox3rdPartyId looks. Please refer to the "id" section where we are passing "joe@mydomain.com" as the customer-identifier.

Rajneesh_Gautam__0-1721214038253.png

Step 4: Pass frequency-capping related parameters:

When a visitor profile is linked with an mbox3rdPartyId, all its profile parameters become accessible across any devices that share the same mbox3rdPartyId value. This means the frequency capping approach is consistent with the single-device frequency capping discussed in the previous article. The key requirement is to ensure that the mbox3rdPartyId is passed to Adobe Target.

Debugging mbox3RdPartyId using fetch-profile API

Adobe Target offers a powerful method, Fetch-profile APIs, to view the profile attributes of a visitor profile that has an associated mbox3rdPartyId. This approach is particularly useful during the initial implementation phases to ensure that profile parameters are being updated correctly in response to digital actions taken by a single customer across multiple devices. Please refer to documentation in Experience League for more information.

 

 

 

https://<YOUR-CLIENT-CODE>.tt.omtrdc.net/rest/v1/profiles/thirdPartyId/<CUSTOMER_IDENTIFIER>?client=<YOUR-CLIENT-CODE>

 

 

 

 

A simple approach for testing that mbox3rdPartyId based frequency capping is working as expected:

 

1. Use an mbox3rdPartyId value from one device, increasing interaction-count of a single experience-identifier. This should update the profile-attribute value to 1 (assuming you are starting from scratch). 

2. Use the API mentioned above to check the value of the corresponding profile attribute value. 

3. Now use a different device to repeat the step 1 - with same mbox3rdPartyId to increase the interaction-count. 

4. If all works as expected, the fetch-profile API should show the updated value of the profile attribute. 

Here's an output of fetch-profile API from Postman, which shows the profile-attribute corresponding to frequency-capping-count of a particular experience. 

In this example, 

1. You'll see that the visitor id is "joe@mydomain.com" - this is the mbox3rdPartyId value passed by the website.

2. Adobe Target automatically creates a profile attribute names "mbox3rdPartyId"

3. We have used a profile-parameter "Last_Used_PCID" to track the PCID of the last device customer used. You should see the values of this  profile-parameter are different as we used two different devices to increase the interaction-counter.

 

Rajneesh_Gautam__0-1721238090539.png

 

Rajneesh_Gautam__1-1721238112787.png

 

Rajneesh_Gautam__1-1721599318368.png You can simulate multiple devices by opening your website in an incognito mode.

Considerations

By now you may have realised that mbox3rdPartyId is a very powerful capability, that can be used to implement cross-device frequency capping. However, it also comes up with some limitations:

1. We should not mix mbox3rdParty Id and ECID Customer ID solutions.

2. mbox3rdPartyId solution does not distinguish between logged-in and logged-out scenarios. Once a visitor-profile gets associated with an mbox3rdPartyId, it remains associated with the user even after signing out.

Conclusion

Adobe Target's mbox3rdPartyId is a powerful feature that enables marketing teams to merge customer behaviour across multiple devices, creating a single view of customer interactions. This allows for more effective targeting and improved marketing strategies.

 

2 Comments