Key differences between at.js and Platform Web SDK

Before starting the migration process, it is important to understand the differences between at.js and the Platform Web SDK.

Operational differences

The Platform Web SDK combines the functionality of multiple Adobe applications into a single library. This unified approach means you should consider cross-team responsibilities and processes to ensure a healthy implementation.

Target at.js 2.xPlatform Web SDK
OwnershipThe at.js library is independent from other application libraries. Customizations and ownership of these disparate libraries may align to different teams in the organization.The Platform Web SDK library and the data passed is unified for all Adobe applications. Ownership of the Platform Web SDK implementation should represent stakeholders of all downstream applications.
MaintenanceSeparate teams may work on implementation enhancements for each Adobe application, like Target and Analytics.Ideally, a single team should be responsible for enhancements that impact the Platform Web SDK implementation.
ProcessChanges to a Target implementation may follow a process that has a different cadence or QA requirements compared to other applications like Analytics.Changes to a Platform Web SDK implementation should consider all downstream applications, and the QA and publish process should be adjusted accordingly.
CollaborationData specific to Target can be passed directly in the Target calls. Depending on the implementation, there may be additional Target calls. This has no direct impact on Adobe Analytics data and coordination with the analytics team is not as critical.Data passed in Platform Web SDK calls can be forwarded to both Target and Analytics. Coordination between teams is required to ensure that changes do not adversely impact a specific application.

Technical differences

The Platform Web SDK is not an evolution of the Target at.js library. It is a new and unified approach for implementing all Adobe applications for the web channel. There are several technical differences to be aware of.

Target at.js 2.xPlatform Web SDK
Library FunctionalityTarget functionality provided by at.js. Integrations with other applications provided by Visitor.js and AppMeasurement.jsFunctionality for all Adobe applications provided by a single Platform Web SDK library: alloy.js
Performanceat.js is one of multiple libraries that must be loaded for proper integration across applications. This results in less than optimal load time.The Platform Web SDK is a single lightweight library that removes the need for multiple application-specific libraries resulting in better page load performance.
RequestsSeparate calls for each Adobe application. Target calls are largely independent from other network calls.A single call for all Adobe applications. Changes to the data passed in these calls could impact multiple downstream applications.
Load OrderProper integration with other Adobe applications requires a specific load order of libraries and network calls.Proper integration does not rely on stitching data from disparate application-specific network calls, thus load order is not a concern.
Edge NetworkUses the Adobe Experience Cloud Edge Network (tt.omtrdc.net), optionally with a CNAME specific to Target.Uses the Adobe Experience Platform Edge Network (edge.adobedc.net), optionally with a single CNAME.
Basic Terminologyat.js naming:
- mbox
- pageLoad event (global mbox)
- offer
Platform Web SDK equivalent:
- decisionScope
- __view__ decisionScope
- proposition