AA Queries

AEM_Forum 28-08-2017


Please answer my below AA Queries:

1. What is the difference between sprops and evars.

I heard a lot about like transient and permanent, etc.

But I am not able to find out why we need these both.

2. s.code.js is replaced by AppMeasurement.js.

What is the purpose and usage of s_code.js?

We put JS code on the web pages to send data to AA.

Is s_code.js a part of this JS code?

Is it that old AA used s.code.js and the latest AA uses AppMeasurement.js?

Appreciate your responses.



Accepted Solutions (1)

Accepted Solutions (1)


Hi Rama,

Good questions. Here's a high level answer to both:

1 - Difference between Props and eVars:

You've got it half-right already! There are two *main* differences between props and eVars.

Difference #1 - eVars can be set to persist past the current hit. Props expire with that request. This is useful for capturing something like "Login status", which may be set to "Logged In" after successful login, but needs to persist throughout the remainder of the visit since the user continues to be logged in. If you were sending login status as a prop, you'd need to send it on every single image request, rather than just the first one. In the Analytics admin console, we call this "Expiration". By default, eVars expire at the end of the visit, but this can be adjusted to end of the page view, never, firing of a custom event, or even a number of days.

Difference #2 - eVars can also be set to have unique attribution across multiple values. In the Login Status example, when the visitor first comes to the site, the Login Status will be set to "Anonymous". After login, the eVar value will need to be updated to "Logged In." So if that same user then makes a purchase, which value of the eVar (Anonymous or Logged In) should credit for that revenue be given? In this case, Logged In, obviously. eVars give us the option to set an Allocation (as termed in the admin console) to either First Touch, Last Touch, or Linear.

A couple of other minor differences: eVars can be enabled for Merchandising (lengthy explanation here: Merchandising eVars), or as Counter eVars (Counter eVars​ ).

2 - AppMeasurement.js is the updated version of s_code.js, a legacy set of code. More details here: About AppMeasurement for JavaScript

Hope that helps!

Answers (5)

Answers (5)


1 - The AppMeasurement.js code is the core JavaScript library that powers Adobe Analytics. The best practice that is supported by Adobe is to leverage DTM for deploying Adobe Analytics via JavaScript. You won't need to download either s_code.js nor AppMeasurement.js in order to deploy the tool in DTM.

2 - If you are using DTM, AppMeasurement is automatically included in the Adobe Analytics tool, and can be accessed in the "Library" section of the Adobe Analytics Tool setup. You'll find some details about Library Management here: Getting Started: Migrating to DTM - A Closer Look at Adobe Analytics​ .

AEM_Forum 29-08-2017

Hi Eric,

Thanks to your inputs, I got clarity on s_code.js file.

I have only question on it now:

Let us say, we are using AA and not DTM.

Should the JS code in this file be manually included in the Web page code (HTML/JS)?

It is then that  this code sends data to AA based on events on the web page?

I understand that if we choose to use DTM, the inclusion of this JS code on the web page is done automatically.



AEM_Forum 28-08-2017

Thanks a lot for reverting Eric.

1. What is the purpose of s_code.js or AppMeasurement.js?

We put JS code on the web pages to send data to Adobe Analytics..

Is s_code.js or AppMeasurement.js a part of this JS code?

I mean where, why and how do we use it?

2. If we choose to use DTM to insert JS code in the web pages, are these files used?