Expand my Community achievements bar.

Tuesday's Tech Bytes - Tips & tricks in Adobe Web/Mobile SDK Migration (Part 01)


Community Advisor


Hello everyone! Welcome to our first thread on 'Tuesday's Tech Bytes'. This thread focuses on 'Tips & tricks in Adobe Web/Mobile SDK Migration'.


Considering we already know about what Adobe Web/Mobile SDK is, let’s not spend time reviewing anything over here. For more information related to Web/Mobile SDK, kindly go through the Implement Adobe Experience Cloud with Web SDK tutorial from Adobe Experience League. Also, for these posts, rather than reading through the paragraphs, let’s ask and answer questions in phases for a more directed understanding.


What’s the licensing cost?

All Experience Cloud customers can use Platform Web/Mobile SDK. It is not a requirement to license a Platform-based application like Real-Time Customer Data Platform or Journey Optimizer to use Web/Mobile SDK. So, the important stopper is already out of our equation.


How do we convince our business for this migration?

Platform Web/Mobile SDK can solve multiple problem areas in data collection, and it includes:

  • Standardization of customer data eliminating multiple formats in data collection
  • Strong performance improvements with ONE Library, Once SDK, and One Destination eliminating harder data connection and distribution management across multiple libraries
  • Flexibility of implementation with higher interoperability
  • Cross-platform support including React, Flutter, and Roku
  • End-Of-Life / End-Of-Support for multiple legacy libraries


What are some of the terminologies I should know before implementing Platform Web/Mobile SDK?

The Platform Web/Mobile SDK itself is of two different versions from the higher level.

  1. Tags Extension - It is a client slide Tag Management Extension that allows us to deploy, manage, and configure Platform Web/Mobile SDK
  2. alloy.js - It is a JavaScript open-sourced JS library, written from ground-up to solve the same purpose as Tags Extension. GitHub Library: https://github.com/adobe/alloy.

Other than the above, there are two important terminologies in Platform Web/Mobile SDK.

  1. Experience Edge – A solution-agnostic data (CDN-like) network that can streamline and accelerate data transfer for our customers for analytics and activation.
  2. Data Stream – A configuration for the edge that helps to route data to the right destinations


What are libraries replaced by Platform Web/Mobile SDK?

Here are some of the libraries Platform Web/Mobile SDK will replace:

  • Visitor API (ECID, UUID, 3rd party ID syncs, known-id syncs)
  • AppMeasurement (Plugins, Custom Analytics, eVar persistence)
  • AT JS (A4T, Recommendations data collection)
  • DIL JS (AAM standalone implementation and data collection)


Would Platform Web/Mobile SDK support all Cross-platforms?

As of date, cross-platform support by Platform Web/Mobile SDK includes React, Flutter, and Roku. Cordova, Xamarin, and any other cross-platforms are currently not supported.


What are the steps to implement/migrate Platform Web/Mobile SDK?

Implementing Platform Web/Mobile SDK is radically changing the way data collection is happening. This is not a simple upgrade!

The summary of the steps consists of the following:

  1. Initial Configuration - Schema & Data Stream creation
  2. Data Collection Tags - Configure Tags & install the required extensions
  3. Install Web/Mobile SDKs - Implement the Adobe Experience Platform Web/Mobile SDK in Websites/Mobile Applications
  4. Collect and Configuration - Dispatch beacons from Websites/Mobile Applications and configure Adobe solutions.
  5. Analytics Validation - Validate the server calls using Adobe Experience Platform Debugger/Assurance.


What are the permissions required to implement/migrate Platform Web/Mobile SDK?

There are some permissions that can trip users during the start and thus getting proper permissions before the start of the implementation is necessary.

  • Experience Platform Permission - Reach Adobe Support Team to provision Data Streams and AEP Schema
  • Adobe Tags Permission - Configure Admin Console to access Adobe Tags
  • Solution Permission (Adobe Analytics, Adobe Target, Adobe Audience Manager, etc.) - Configure Admin Console to access individual Adobe solutions.


What is Schema and how do I start with Schema?

Any data collection solution would have a structure and format to collect data. In Adobe Analytics (don’t mind If I take Adobe Analytics for my examples, you already know that my primary domain is Analytics), we name them as dimensions & events, however, the structure is provided by Adobe Analytics, and it is not possible for other solutions to consume them in the same way how Adobe Analytics is consuming (vice versa for other solutions).

A schema in Adobe Experience Platform representing Experience Data Model (XDM) is an effort to standardize customer experience data and define standard schemas for customer experience management. XDM is a publicly documented specification designed to improve the power of digital experiences. It provides common structures and definitions that allow any solution to be used to communicate with Platform services.

To start with schemas, understand how the Experience Data Model (XDM) can be utilized for the data collection. Get to know about Record, Time Series, and Identity data in detail along with field groups and properties.


Can you give us an example for Record, Time Series, and Identity data?

Taking Adobe Analytics as an example, here you go.

  • Record - Classification Metadata and Customer Attributes in Adobe Analytics
  • Time Series – Almost all other data except Classification Metadata and Customer Attributes in Adobe Analytics
  • Identity - Experience Cloud ID, Analytics ID, Fallback ID etc.


Do I need to create my own schemas for Web/Mobile SDK Data Collection?

Yes. There are a few default field groups/properties/fields that can be used and are consumed by Adobe Solutions directly. For example, Page Name is something that is already available in the schema as a separate property (web.webpagedetails.name) and if utilized, Page Name is automatically mapped in Adobe Analytics. On the other hand, there are also out-of-the-box audience targeting fields in Adobe Target such as Target Library, Geo, Network, etc., which do not require XDM. So, it is essential to know the list of auto-mapped variables for direct consumption by Adobe Solutions, while the rest can be custom-created.


Is it possible for Adobe Solutions to consume all fields/properties generated in the Adobe Experience Platform Schema?

The answer would be tentative. Taking Adobe Analytics as an example, we can use the Adobe Analytics ExperienceEvent Full Extension schema field group which captures common dimensions and metrics that are collected by Adobe Analytics. Using this schema can eliminate the use of Processing Rules since the mapping is completely automatic unlike our own schema (Did I miss this piece? Oh yes, but let’s discuss this in detail during the “Collect and Configuration” section).


If there is a schema field group that can be consumed by Adobe Solutions automatically (taking Adobe Analytics as an example), why do we need to create our own schema in the Adobe Experience Platform during Web/Mobile SDK Migration?

Though the Adobe Analytics ExperienceEvent Full Extension schema field group is useful, it does not address our primary goal of data standardization. Since the Adobe Analytics ExperienceEvent Full Extension schema field group uses the same data structure and format as Adobe Analytics, we might not know what an eVar1 or prop1 represents at the client end, making it more difficult for other solutions to consume the data. For a long-term objective, having a clean and transparent schema is recommended.


What is Datastream and how do I start with Datastream?

A datastream represents the server-side configuration when implementing the Adobe Experience Platform Web and Mobile SDKs. It is ideally an Edge Network that can be configured to take the request from the client side and forward the requests to Adobe Solutions. This also allows us to update the server-side configuration without having to make code changes on our website. Knowledge of how to handle sensitive data in Datastreams might be super handy while configuring Datastreams.


What are the steps to configure Datastream?

Steps to configure Datastream are already precisely documented in the Adobe Experience League Portal. Kindly check-out.


Once Datastream is configured what would be the immediate next step?

To know the immediate next step and the rest of the tips/tricks in Web/Mobile SDK Migration, kindly click on the link here.