Guides
Advanced Frequency Modes
Three frequency modes that go beyond simple session or day limits — for Adobe Target practitioners who need smarter show/hide control.
Most frequency modes (once per session, once per day, etc.) work entirely in the visitor's browser with no extra setup. The three modes below require a small amount of coordination — either with Adobe Target or with a developer on your site. This guide explains each one in plain terms.
Shows once per visitor, forever — storage key is prefixed for easy QA and AT profile linking
Select Profile attribute (AT) in Experience Lab
Open the Frequency section and choose Profile attribute (AT). No other fields are needed.
Frequency
The storage key is prefixed with _at_profile_ — easy to spot in DevTools and easy to link to Adobe Target visitor profiles.
Generate and deploy as normal
Configure the rest of your banner, modal, or countdown, generate the script, and paste it into Adobe Target as a Custom Code modification. The activity works exactly like any other — the banner shows once per visitor, then never again.
To reset a visitor during QA
Open Chrome DevTools (F12) → Application → Local Storage → your site's domain. Find the key starting with _at_profile_, delete it, then refresh — the banner reappears.
Storage
Cross-device suppression with Adobe Target profile attributes
Adobe Target stores a server-side profile for every visitor. When a visitor logs in and you pass their identifier to Target, their profile follows them across devices and browsers. You can write a flag to that profile on conversion — Target then excludes them from the activity on every device automatically. No localStorage, no tag manager needed for the suppression itself.
Part 1 — Pass the visitor ID to Adobe Target on login
When a visitor logs in, your site needs to tell Target who they are. This is done by setting the mbox3rdPartyId— a unique ID you control, typically a hashed email address or a CRM customer ID. Target uses this to link all of that visitor's sessions into one profile.
If your site uses at.js:
// Call this after the visitor successfully logs in. // Use a value that uniquely identifies them — hashed email or CRM ID. // Never use a plain email address (always hash it first). adobe.target.registerExtension && adobe.target.registerExtension({}); window.targetPageParamsAll = window.targetPageParamsAll || function() { return {}; }; // The simplest approach: set it as a global param so all future mbox calls include it window.targetPageParams = function() { return { mbox3rdPartyId: 'HASHED_EMAIL_OR_CRM_ID' // replace with your actual value }; };
If your site uses Adobe Web SDK (Alloy):
// Send the authenticated identity to AEP/Target via the Web SDK alloy("sendEvent", { renderDecisions: true, xdm: { identityMap: { // Use whichever namespace matches your identity setup in AEP Email: [{ id: "HASHED_EMAIL_OR_CRM_ID", authenticatedState: "authenticated", primary: true }] } } });
Part 2 — Set the profile attribute on conversion
On the confirmation/thank-you page, fire a Target call that writes a profile attribute marking this visitor as converted. You can do this in Adobe Tags (no developer needed) or in your site code.
Using at.js:
// Writes profile.bannerConverted = 'true' to the visitor's Target profile. // Choose an attribute name that describes your specific campaign, // e.g. profile.trialBannerConverted or profile.summerSaleConverted adobe.target.trackEvent({ mbox: 'conversion-flag', // any mbox name — it just needs to fire params: { 'profile.bannerConverted': 'true' } });
Using Adobe Web SDK (Alloy):
alloy("sendEvent", { xdm: { eventType: "commerce.purchases" }, // or whatever event type fits data: { __adobe: { target: { "profile.bannerConverted": "true" } } } });
Part 3 — Create an audience in Adobe Target
Go to Audiences in Adobe Target
In Adobe Target, navigate to Audiences → Create Audience. Give it a clear name, e.g. Converted — Banner Suppressed.
Add a Visitor Profile rule
Click Add Rule → Visitor Profile. In the attribute field, type the exact attribute name you used in your code — bannerConverted (without the profile. prefix — Target strips it in the audience builder). Set the condition to equals and the value to true.
Save the audience
Click Save. The audience will now include any visitor whose profile has bannerConverted = true — across all their devices.
bannerConverted, condition to equals, and value to true. Save the audience.* Attribute name note — In the audience builder, enter bannerConverted without the profile. prefix. Adobe Target strips it automatically when displaying profile attributes in the audience UI.
Part 4 — Exclude the audience from your activity
Open your Target activity
Go to your banner/countdown activity in Adobe Target and click Edit (or open it in the three-dot menu).
Go to the Targeting step
In the activity workflow, click through to the Targeting step (step 2). This is where you control who sees which experience.
Change the activity audience to exclude converted visitors
You have two options. Option A (cleanest): Set the activity's main audience to All Visitors and add an audience exclusion — click the gear icon next to the experience → Exclude Audience → select your Converted — Banner Suppressed audience. Option B: Create a new audience called Not Yet Converted using the same Visitor Profile rule but with condition does not equal true(or “does not exist”), and set that as the activity audience.
Save and activate
Save changes and activate (or re-activate) the activity. Visitors who have the profile attribute set will no longer receive the experience — on any device they log in from.
🎯 Want this set up properly from the start?
Getting frequency logic, profile attributes, and audience exclusions right takes time — especially across multiple activities. Experience Lab handles the full setup: activity configuration, frequency strategy, AT profile wiring, and QA. You get it done once, done right.