adobe.target.applyOffers(options) - at.js 2.x

This function lets you apply more than one offer that was retrieved by adobe.target.getOffers().

NOTE
This function was introduced with at.js 2.x. This function is not available for at.js version 1.x.
Key
Type
Required?
Description
selector
String
No
HTML element or CSS selector used to identify the HTML element where Target should place the offer content. If a selector is not provided, Target assumes that the HTML element to use is HTML HEAD.
Response
Object
Yes
Response object from getOffers().
See Requests table below.

Response

NOTE
Consult the Delivery API documentation for information about the acceptable types for all fields listed below.
Field Name
Description
response > prefetch > views > options > content
Note that the content of the “option” is not well-defined and depends directly on the option type/template structure.
response > prefetch > views > options > type
Option type. Reflects type of “content” field. Supported type is actions.
response > prefetch > views > state
An opaque view state token that should be forwarded with display notification for the view
response > prefetch > views > options > responseTokens
Contains the map of responseTokens that have been collected when the current option was being processed.
response > prefetch > views > analytics > payload
Analytics payload for client-side integration that should be sent to Analytics after the view has been applied.
response > prefetch > views > trace
The object containing all trace data for the prefetch call per view.
The trace object will also include a version for the trace.
The trace object will also include details of the current view.
response > prefetch > views > options > eventToken
Event logging is done per option. For every applied option the respective event token should to be added to the list of notification tokens. Note that a View is composed of multiple options. If all options have been applied and seen, all eventTokens need to be included in the notification.
response > prefetch > views > name
The human-readable view name.
response > prefetch > views > metrics
Reporting metrics that should be watched and then notify Target about. Currently, just click metric is supported. In case a click on the element happens, the appropriate eventTokens should be collected and a notification should be sent.
response > prefetch > views > key
The key or fingerprint that identifies the view.
response > prefetch > views > id
ID of the view.
response > notifications > id
Notification ID.
response > notifications > events > type
The type of the notification, click, or display.
response > notifications > events > trace
The trace for the notification event.
response > notifications > events > token
The token that was sent with the notification event.
response > notifications > events > timestamp
The timestamp that was sent with the notification event.
response > notifications > events > errorCode
If the notification failed, the code indicates the reason for the failure.
response > notifications > events
The events that were logged or failed to be logged for the current notification.
response > notifications
Indicates the logged or failed notifications.
response > execute > mboxes > mbox > trace
The object containing all trace data for the individual mbox request.
response > execute > mboxes > mbox > responseTokens
Contains map of responseTokens for specific mbox request execution.
response > execute > mboxes > mbox > option > content
Note that the content of the “option” is not well-defined and depends directly on the option type/template structure.
response > execute > mboxes > mbox > option > type
Option type. Reflects type of “content” field. Supported types are: html, redirect, JSON, and dynamic.
response > execute > mboxes > mbox > options
Response option.
response > execute > mboxes > mbox > metrics > eventToken
Token of click event.
response > execute > mboxes > mbox > metrics > type
“click”
response > execute > mboxes > mbox > metrics
Contains list of clickThrough metrics.
response > execute > mboxes > mbox > mbox
The name of the mbox.
response > execute > mboxes > mbox >index
Indicates that the response is for mbox with this index from the request.
response > execute > mboxes > mbox > analytics > payload
Analytics payload for client-side integration that should be sent to Analytics after the mbox has been applied. (See A4T-enabled Campaigns section.)
response > execute > mboxes
List of executed mboxes.
response > execute > pageLoad > options > content
Note that the content of the “option” is not well-defined and depends directly on the option type/template structure.
response > execute > pageLoad > options > type
Option type. Reflects type of “content” field. Supported types are: html, redirect, JSON, dynamic, and actions.
response > execute > pageLoad > options
Options that aren’t grouped by views (target-global-mbox + options from activities with views not grouped by views).
response > execute > pageLoad > metrics
Click metrics that were not set to belong to a specific view.
response > execute > pageLoad > trace
The object containing all trace data for the pageLoad request.
response > execute > pageLoad > analytics > payload
Analytics payload for client-side integration that should be sent to Analytics after the page load content has been applied. (See A4T-enabled Campaigns section.)

Example applyOffers() call

adobe.target.applyOffers({response:{
  "execute": {
    "pageLoad": {
      "options": [{
        "type": "html",
        "content": "page-load"
      },
      {
        "type": "actions",
        "content": [{
          "type": "setHtml",
          "content": "<h1>Container 1</h1>",
          "selector": "#container1",
          "cssSelector": "#container1"
        },
        {
          "type": "setHtml",
          "content": "<h3>Container 3</h3>",
          "selector": "#container3",
          "cssSelector": "#container3"
        }]
      }],


      "metrics": [{
        "type": "click",
        "selector": "#container1",
        "eventToken": "page-load-click-metric"
      }]
    }
  }
}});

Example calls of Promise chaining with getOffers() and applyOffers(), because these functions are Promise based

adobe.target.getOffers({...})
.then(response => adobe.target.applyOffers({ response: response }))
.then(() => console.log("Success"))
.catch(error => console.log("Error", error));

For more examples on how to use getOffers(), please refer to the getOffers documentation

Page Load Request Example

adobe.target.getOffers({
    request: {
        execute: {
            pageLoad: {}
        }
    }
}).
then(response => adobe.target.applyOffers({ response: response }))
.then(() => console.log("Success"))
.catch(error => console.log("Error", error));
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3