Information about implementing Adobe Target without using a tag manager or tags in Adobe Experience Platform.
Tags in Adobe Experience Platform are the preferred method for implementing Target and the at.js library. The following information is not applicable when using tags in Adobe Experience Platform to implement Target.
To access the Implementation page, click Administration > Implementation.
You can specify the following settings on this page:
You can override settings in the at.js library, rather than configuring them in the Target Standard/Premium UI or by using REST APIs. For more information, see targetGlobalSettings().
You can view the following account details. These settings cannot be changed.
Setting | Description |
---|---|
Client Code | The client code is a client-specific sequence of characters often required when using the Target APIs. |
IMS Organization ID | This ID ties your implementation to your Adobe Experience Cloud account. |
On-Device Decisioning | To enable on-device decisioning, slide the toggle to the “on” position. On-device decisioning lets you cache your A/B and Experience Targeting (XT) campaigns on your server and perform in-memory decisioning at near-zero latency. For more information, see Introduction to on-device decisioning. |
Include all existing on-device decisioning qualified activities in the artifact | (Conditional) This option displays if you enable on-device decisioning. Slide the toggle to the “on” position if you want all your live Target activities that qualify for on-device decisioning to be automatically included in the artifact. Leaving this toggle off means you must re-create and activate any on-device decisioning activities in order for them to be included in the generated rules artifact. |
The following settings can be configured in the Implementation methods panel:
These settings are applied to all Target .js libraries. After performing changes in the Implementation methods section, you must download the library and update it in your implementation.
Setting | Description |
---|---|
Page load enabled (Auto-create global mbox) | Select whether to embed the global mbox call in the at.js file to automatically fire on each page load. |
Global mbox | Select a name for the global mbox. By default, this name is target-global-mbox. Special characters, including ampersands (&), can be used in mbox names with at.js. |
Timeout (seconds) | If Target does not respond with content within the defined period, the server call times out and default content is displayed. Additional calls continue to be attempted during the visitor’s session. The default is 5 seconds. The at.js library uses the timeout setting in If the specified timeout occurs before receiving the response, default content is shown and the visitor might be counted as a participant in an activity because all data collection happens on the Target edge. If the request reaches the Target edge, the visitor is counted. Consider the following when configuring the timeout setting:
Note: The visitorApiTimeout setting ensures that Target doesn’t wait for the Visitor API response for too long. This setting and the Timeout setting for at.js described here do not affect each other. |
Profile Lifetime | This setting determines how long visitor profiles are stored. By default, profiles are stored for two weeks. This setting can be increased up to 90 days. To change the Profile Lifetime setting, contact Client Care. |
Adobe Target supports both at.js 1.x and at.js 2.x. Upgrade to the most recent update of either major version of at.js to ensure that you are running a supported version.
To download the desired at.js version, click the appropriate Download button.
To edit at.js setting, click Edit next to the desired at.js version.
Before changing these default settings, please consult with Client Care so you don’t affect your current implementation.
In addition to the settings explained above, the following specific at.js settings are also available:
Setting | Description |
---|---|
Cross-Domain | For at.js v1.x, specify whether cross-domain capabilities are disabled (browsers set cookies in your domain (first-party cookies) only), x only (browsers set cookies in Target’s domain only), or both, by selecting enabled (browsers set both 1st and 3rd party cookies). For at.js v2.10 and later, specify whether cross-domain capabilities are enabled (browsers set both 1st and 3rd party cookies) or disabled (browsers do not set 3rd party cookies). |
Custom Library Header | Add any custom JavaScript to include at the top of the library. |
Custom Library Footer | Add any custom JavaScript to include at the bottom of the library. |
Enable or disable authentication for batch updates via API and generate a profile authentication token.
For more information, see Profile API settings.
Generate an authorization token to use advanced Target debugging tools. Click Generate New Authentication Token.
These settings allow you to use Target in compliance with applicable data privacy laws.
Choose the desired setting from the Obfuscate Visitor IP address drop-down list:
For more information, see Privacy.
The Legacy Browser Support option was available in at.js version 0.9.3 and earlier. This option was removed in at.js version 0.9.4. For a list of browsers supported by at.js, see Supported Browsers.
Legacy browsers are older browsers that do not fully support CORS (Cross Origin Resource Sharing). These browsers include: Internet Explorer browsers earlier than version 11 and Safari versions 6 and below. If Legacy Browser Support was disabled, Target did not deliver content or count visitors in reports on these browsers. If this option was enabled, it is recommended to do quality assurance across older browsers to ensure a good customer experience.
Instructions to download the library using the Target interface or the Download API.
Adobe Experience Platform is the preferred method for implementing Target and the at.js library. The following information is not applicable when using tags in Adobe Experience Platform to implement Target.
Adobe Target supports both at.js 1.x and at.js 2.x. Please upgrade to the most recent update of either major version of at.js to ensure that you are running a supported version. For more information about what’s in each version, see at.js Version Details.
To download at.js from the Target interface:
To download at.js using the API.
Get your client code.
Your client code is available at the top of the Administration > Implementation page of the Target interface.
Get your admin number.
Load this URL:
https://admin.testandtarget.omniture.com/rest/v1/endpoint/<varname>client code</varname>
Replace client code
with the client code from Step 1.
The result of loading this URL should look similar to the following example:
{
"api": "https://admin6.testandtarget.omniture.com/admin/rest/v1"
}
In this example, “6” is the admin number.
Download at.js.
Load this URL with the following structure. Loading this URL starts the download of your customized at.js file.
https://admin<varname>admin number</varname>.testandtarget.omniture.com/admin/rest/v1/libraries/atjs/download?client=<varname>client code</varname>&version=<version number>
admin number
with your admin number.client code
with the client code from Step 1.version number
with the desired at.js version number (for example, 2.2).The Target team maintains only two versions of at.js—the current version and the second-latest version. Please upgrade at.js as necessary to ensure that you are running a supported version. For more information about what’s in each version, see at.js Version Details.
at.js should be implemented in the <head>
element of every page of your website.
A typical implementation of Target not using a tag manager, such as tags in Adobe Experience Platform looks like this:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Title of the Page</title>
<!--Preconnect and DNS-Prefetch to improve page load time-->
<link rel="preconnect" href="//<client code>.tt.omtrdc.net">
<link rel="dns-prefetch" href="//<client code>.tt.omtrdc.net">
<!--/Preconnect and DNS-Prefetch-->
<!--Data Layer to enable rich data collection and targeting-->
<script>
var digitalData = {
"page": {
"pageInfo": {
"pageName": "Home"
}
}
};
</script>
<!--/Data Layer-->
<!-- targetPageParams(), targetPageParamsAll(), Data Providers or targetGlobalSettings() functions to enrich the visitor profile or modify the library settings-->
<script>
targetPageParams = function() {
return {
"a": 1,
"b": 2,
"pageName": digitalData.page.pageInfo.pageName,
"profile": {
"age": 26,
"country": {
"city": "San Francisco"
}
}
};
};
</script>
<!--/targetPageParams()-->
<!--jQuery or other helper libraries should be implemented before at.js if you would like to use their methods in Target-->
<script src="jquery-3.3.1.min.js"></script>
<!--/jQuery-->
<!--Target's JavaScript SDK, at.js-->
<script src="at.js"></script>
<!--/at.js-->
</head>
<body>
The default content of the page
</body>
</html>
Consider the following important notes:
<!doctype html>
) should be used. Unsupported or older doctypes could result in Target not being able to make a request.<client code>
with your own client code, which you can obtain from the Administration > Implementation page.<head>
of your pages before at.js loads. This placement provides the maximum ability to use this information in Target for personalization.targetPageParams()
, targetPageParamsAll()
, Data Providers, and targetGlobalSettings()
should be defined after your data layer and before at.js loads. Alternatively, these functions could be saved in the Library Header section of the Edit at.js Settings page and saved as part of the at.js library itself. For more information on these functions, see at.js functions.<head>
of your pages.The Order Confirmation mbox records details about orders on your site and allows reporting based on revenue and orders. The Order Confirmation mbox can also drive recommendation algorithms, such as “People who bought product x also bought product y.”
If users make purchases on your website, Adobe recommends implementing an Order Confirmation mbox even if you use Analytics for Target (A4T) for your reporting.
In your order details page, insert the mbox script following the model below.
Replace the WORDS IN CAPITAL LETTERS with either dynamic or static values from your catalog.
You can also pass order information in any mbox (it does not need to be named orderConfirmPage
). You can also pass order information in multiple mboxes within the same campaign.
<script type="text/javascript">
adobe.target.trackEvent({
"mbox": "orderConfirmPage",
"params":{
"orderId": "ORDER ID FROM YOUR ORDER PAGE",
"orderTotal": "ORDER TOTAL FROM YOUR ORDER PAGE",
"productPurchasedId": "PRODUCT ID FROM YOUR ORDER PAGE, PRODUCT ID2, PRODUCT ID3"
}
});
</script>
In the Order Confirmation mbox, use comma delimiting to separate multiple product IDs.
The Order Confirmation mbox uses the following parameters:
Parameter | Description |
---|---|
orderId | Unique value to identify an order for conversion counting. The |
orderTotal | Monetary value of the purchase. Do not pass the currency symbol. Use a decimal point (not a comma) to indicate decimal values. |
productPurchasedId (Optional) | Comma-separated list of product IDs purchased in the order. These product IDs display in the audit report to support additional reporting analysis. |