Changes to Consent parameters
At any time during their experience on your site, a visitor may set preferences for the first time or may change their preferences using your CMP. Once Visitor JS has been initialized with initial settings, the visitor’s permissions can be changed using the following functions:
adobe.optIn.approve(categories, shouldWaitForComplete)
Function that approves, or opts the visitor in to all categories in a list. For more information on the shouldWaitForComplete parameter, see Opt-in Workflow.
adobe.optIn.deny(categories, shouldWaitForComplete)
Function that denies, or opts the visitor out of all categories specified.
adobe.optIn.approveAll()
:
If your request for permission for your site to create is phrased such that a visitor blanket grants or denies permission for your site to create cookies, use approveAll()
or denyAll()
, relative to their response.
adobe.optIn.denyAll()
:
If your request for permission for your site to create is phrased such that a visitor blanket grants or denies permission for your site to create cookies, use approveAll()
or denyAll()
, relative to the response.
Opt-in Workflows parameters
Opt-in supports a workflow where permissions can be collected over more than one request cycle, such as where preferences are given one at a time. Using the following functions and providing true for shouldWaitForComplete
setting, your solution is able to collect consent for one solution or a subset of the total categories, then collect consent for the next one or subset of categories. Beginning on the first call, the adobe.optIn.status
property will be pending until adobe.optIn.complete()
is called at the end of the flow. Once called, the status is set to Complete.
adobe.optIn.approve(categories, shouldWaitForComplete)
Function that approves, or opts the visitor in to all categories in a list.
adobe.optIn.deny(categories, shouldWaitForComplete)
Function that denies, or opts the visitor out of all categories specified.
adobe.optIn.complete()
Function that triggers the aggregation of the proceeding calls to approve() and deny() into one request to set a visitor’s preferences. When subscribing to Opt-in changes (see adobe.optIn.fetchPermissions(callback, shouldAutoSubscribe
) below, your callback is triggered only when this function is called.
Visitor Opt-in Permissions parameters
Collect Opt-in permissions for a visitor at any time using one of the permissions functions:
adobe.optIn.permissions
An object listing all Experience Cloud solutions, as categories, that have been granted or denied by the visitor.
adobe.optIn.isApproved(categories)
If all categories have been approved, this function will return true.
adobe.optIn.fetchPermissions(callback, shouldAutoSubscribe)
Retrieve the list of permissions asynchronously. The callback is called with the list of permissions, once the permissions granting / denying process is complete. Providing a value of true for shouldAutoSubscribe
registers the callback for any Opt-in changes going forward. The following are properties of adobe.OptIn
:
permissions
An object listing all Experience Cloud solutions, as categories, that have been granted or denied by the visitor Example: { aa: true, ecid: false, aam: true... }
status
- pending
- changed
- complete
doesOptInApply
True or false, representing the configuration you provided in initialization
isPending
True or false, depending on status value. Opt-in reports true for this property for a visitor who has not yet explicitly accepted or denied permission
isComplete
True or false depending on status value. Opt-in might report a false for this property when a workflow-style consent has started but not completed.
Methods of Opt-in object
approve(categories, shouldWaitForComplete)
categories
: One or more categories to approve. For example: adobe.optIn.approve([adobe.OptInCategories.AAM, adobe.OptInCategories.ECID])
shouldWaitForComplete
: (optional) boolean parameter, false by default. If you pass true, Opt-in does not complete the approval process until you call adobe.optIn.complete()
. This process is similar to a workflow.
<codeblock>
adobe.optIn.approve(adobe.OptInCategories.ANALYTICS,
true); adobe.optIn.approve(adobe.OptInCategories.ECID, true);
adobe.optIn.complete()
</codeblock>
deny(categories, shouldWaitForComplete)
- Pass 1 or more categories to check if they are approved.
- If no categories passed in, ALL available categories are checked.
isApproved(categories)
Check if one or more categories is approved by the customer.
isPreApproved(categories)
Check if one or more categories were pre approved by the customer. (If they were passed in the preOptInApprovals
config).
fetchPermissions(callback, shouldAutoSubscribe)
Async API to retrieve the list of permissions. The callback is called with the list of permissions, once the permissions granting / denying process is complete. shouldAutoSubscribe
: A helper utility, will automatically subscribe this callback to all future events. Meaning the callback will get called every time an approval or denial trigger in Opt In. This way you are always updated, without subscribing to the events yourself.
Example
fetchPermissions
optIn.fetchPermissions(function (permissions) {
// Here you can check if your category has been approved or not.
// We recommend using `optIn.isApproved()` to check for permissions because it abstracts
out the details of knowing exactly how the `permissions` list looks like.
if (adobe.optIn.isApproved(MY_CATEGORY) {
sendBeacon(); // Or something
}
});
// OR: You can pass in `shouldAutoSubscribe` as true, your callback will be used to subscribe
to all OptIn events going forward:
function callback() {
if (adobe.optIn.isApproved(MY_CATEGORY) {
sendBeacon(); // Or something
}
}
optIn.fetchPermissions(callback, true);
complete()
:
shouldWaitForComplete
parameter to approve or deny. This API completes the approval process. Example: adobe.optIn.complete()
.approveAll()
:
Approves all existing Categories.
denyAll()
Deny all existing Categories.
Events of Opt-in object
complete
:
Complete event triggers when the approval process has been completed. If you call approve/deny without passing shouldWaitForComplete
, or approveAll
/ denyAll
, this event triggers. Or, if you pass shouldWaitForComplete
, this event triggers when complete
is called.
Example
<codeph>
adobe.optIn.on("complete", callback);
</codeph>
Experience Cloud Services
Connect with Experience League at Summit!
Get front-row access to top sessions, hands-on activities, and networking—wherever you are!
Learn more