Skip to main content

Ideas

Filter by idea status

10000+ Ideas

Danielle_Wong
Community Advisor
Danielle_WongCommunity Advisor

Program Name Validation in Smart List FiltersNew

Current behavior allows an invalid, nonexistent, or blank Program Name value to be treated as "Is Any" rather than returning no results or generating an error. In my example, I have a list of program names provided to me by a team member. I put it in the Member of Program is and pasted them all in along with a constraint of status = Event > Registered. The smart list gave me thousands of results. In reality, none of those programs I put in the Member of Program criteria was even valid. So why would it show me any results?This behavior is counterintuitive and creates a significant risk for audience selection, reporting accuracy, and operational decision-making. If a user enters an invalid Program Name, the Smart List appears to function correctly while silently broadening the audience. As a result, configuration errors can go undetected and may lead to unintended campaign execution or inaccurate reporting.From a product usability and data integrity perspective, an invalid filter value should not default to a broader audience. User expectations would generally be one of the following:Return 0 results when the Program Name does not exist. Display a validation error indicating the Program Name is invalid. Display a warning that the specified Program Name could not be validated.Recommended behavior:Validate Program Name values when the Smart List is saved or executed. Return no matches for invalid or nonexistent Program Names. Surface a warning or error message to help users identify and correct configuration issues.This enhancement would improve data quality, reduce the risk of audience selection errors, and make filter behavior more consistent with user expectations.

MartaBMLevel 2

Regional Distribution Lists for AEM Sites Proactive Notifications and CommunicationsNew

Problem StatementCurrently, AEM Sites only supports tenant-level distribution lists for proactive notifications and communications. This creates operational challenges for global organizations managing multiple regional instances, as there is no capability to:- Configure separate distribution lists per AEM instance/program- Differentiate notification recipients based on regional responsibility- Manage admin-level notifications independently for different instancesThis limitation forces organizations to either:1. Include all regional users in a single tenant-level list (resulting in irrelevant notifications)2. Remove regional users entirely and rely on global admins to manually redistribute communicationsProposed EnhancementImplement granular distribution list management at the program/instance level within AEM Sites, allowing:1. Instance-specific distribution lists: Configure separate recipient lists for each AEM instance (e.g., Instance X recipients ≠ Instance Y recipients)2. Role-based distribution lists: Define different lists based on user roles within each instance (e.g., "Admin users for Instance X" vs "Content editors for Instance X")3. Self-service management: Allow users with appropriate permissions to manage these distribution lists without requiring Adobe Support intervention4. Notification filtering: Automatically route proactive notifications, incident alerts, and technical reports to the relevant regional distribution list based on the affected program/instance Business Value- Operational efficiency: Regional teams receive only relevant notifications for their instances- Reduced noise: Eliminates irrelevant communications that cause alert fatigue- Faster incident response: Critical notifications reach the right team immediatelyUse Case ExampleA global organization manages AEM Sites instances across multiple regions (US, UK, Spain, Mexico). Currently:- US team receives notifications about Spain infrastructure issues- Spain team receives technical reports about Mexico performance optimization- All teams must filter through irrelevant communications dailyWith this enhancement:- Each regional team would only receive notifications for their managed instances- Admin-level users in each region could manage their own distribution lists- Proactive notifications would be automatically routed to the appropriate regional teamCurrent Workaround LimitationsThe current suggestion to modify product profiles at tenant level does not address this need, as it requires:- Global admins to manually redistribute all communications- Regional teams to lose direct access to critical notifications- Additional operational overhead and potential delays in incident responseThis enhancement would align AEM Sites with enterprise-grade notification management capabilities expected in cloud platforms.

Add copy path icon in the union schemaNew

 It would be very helpful to have the same Copy icon available in the Union Schema that is currently available when browsing attributes in the Schema menu. Why is this feature important?When working with schemas, it is very common to need the exact path of an attribute — for example, when configuring audiences, journeys, queries, or other Adobe Experience Platform components.In the Schema menu, the Copy icon makes this extremely convenient: you simply click the icon and the attribute path is copied to the clipboard.However, this functionality is currently missing from the Union Schema view. Since the Union Schema is also frequently used to inspect and identify attributes, having to manually select the entire path is a small but unnecessary friction point, especially for long or deeply nested paths. How I would like it to workI would like the Union Schema to have the same Copy icon next to each attribute/path, following the existing behavior in the Schema menu. Clicking the icon would copy the complete attribute path to the clipboard. How it works currentlyCurrently, the Union Schema does not display a Copy icon for attributes.To copy an attribute path, you have to manually select the entire path and then use:Ctrl + C, orRight-click → CopyThis is a minor inconvenience, but adding the Copy icon would make the experience more consistent with the Schema menu and considerably more convenient when working with attribute paths. Thank youFilipe Freitas

Email level switch to disable click tracking for all links, and honour a per person consent field for link rewritingNew

SUMMARYTwo related asks, the second building on the first:1. An email level or template level switch that disables click tracking for every link in an email at once, equivalent to isOpenTrackingDisabled for the open pixel.2. Allow that decision to reference a person field, so link rewriting is suppressed per recipient at send time rather than fixed per asset.TODAYOpting a link out of click tracking is a per link operation only. It requires either unticking "Track Link" on each individual anchor in the Email Designer, or adding the mktNoTrack class to each anchor in the HTML. Adobe Support has confirmed there is no email level, template level or REST API setting that disables click tracking for all links at once, and that no such capability is on a published roadmap.WHY THIS MATTERSUnder the CNIL recommendation applicable since 14 April 2026, and the Italian Garante deadline of 28 October 2026, click measurement for campaign performance purposes requires consent in the same way open measurement does. Where clicks are in scope, compliance currently means tagging every anchor in every affected email by hand.In our own newsletters that is 27 tracked anchors per email, repeated for every locale and every send. The failure mode is silent: one untagged anchor produces a tracked click for a person who did not consent, and nothing in the product warns that the email is inconsistent with the consent state it was built for.There is a further problem that no amount of care solves. Delivered messages contain a bare anchor immediately before the closing body tag, with a tracking href and no content:<a href="https://click.example.com/NDEwLVhPUi02NzM..."></a>It is present even when the asset has open tracking disabled. It wraps no visible content and does not appear anywhere in the Email Designer, so it cannot be selected, untracked, or given the mktNoTrack class through any supported means. A customer following Adobe's own CNIL guidance to the letter still ships this element. An email level switch would cover it. Per anchor tagging cannot.PROPOSED BEHAVIOURPhase 1, asset level switch:A "Disable Click Tracking" setting on the email asset, and ideally on the template, that suppresses link rewriting for all links in the email including any platform injected elements.Exposed on the Emails Asset REST API alongside isOpenTrackingDisabled, so that it can be applied programmatically across a large asset library.Phase 2, per person evaluation:Allow the switch to reference a boolean person field instead of a fixed value, evaluated per recipient at send time, so that one asset serves both consenting and non consenting recipients.Expected outcomes:Click consent enforced by one setting rather than by remembering to tag every anchor.Platform injected tracking elements covered, which per anchor tagging cannot reach.Clicked Link activity generated for consenting recipients only.No asset duplication.Velocity can already apply mktNoTrack conditionally per anchor from a person field, which demonstrates that the per recipient decision is possible at send time. What is missing is a supported switch that applies it to the whole email rather than requiring it to be threaded through every anchor by hand, and that reaches elements the customer cannot edit.RELATEDCompanion idea covering the equivalent problem for open tracking: per person open pixel injection within a single email.Adobe CNIL guidance: https://experienceleague.adobe.com/en/docs/marketo/using/product-docs/email-marketing/email-designer/cnil-guidanceEmails Asset API: https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/assets/emails 

jigar-shah
Adobe Employee
jigar-shahAdobe Employee

From Gut Feeling to Grade Point: How AJO Measures Service QualityNew

 From Gut Feeling to Grade Point: How AJO Measures Service QualityHow we grade every service behind Adobe Journey Optimizer — and what happens when a grade slips. When you're running customer journeys that depend on Adobe Journey Optimizer, you're trusting that the platform underneath is holding up its end—every trigger fires, every send lands, every integration behaves the way it should. That trust is something we take seriously, and we've built a system to hold ourselves accountable to it in a very concrete way: the Service Scorecard.The Service Scorecard gives every service that powers AJO an automated grade, refreshed twice a day, across four dimensions that together define what “healthy” means: how well we respond when incidents happen, how thoroughly the code is tested before it ships, how much reliability margin we're maintaining against our own commitments, and how quickly we act on reported issues.This is part of a wider effort across Adobe Experience Platform to apply one consistent quality bar everywhere—and AJO has seen some of the strongest gains in reliability and responsiveness as a result. Why These Four DimensionsEach dimension maps to a distinct point in a service's operational lifecycle:Before code ships — automated test coverage (Code Quality) While it's running in production — reliability against SLO commitments (Reliability Against Our Commitments) When something breaks — root-cause closure and corrective action completion (Incident Follow-Through) When a customer reports an issue — resolution time against SLA (Speed of Resolution) Four Dimensions, One GradeRather than judging a service by a single metric, the Scorecard looks at the full picture. Each service earns a letter grade, A through F, based on:🧪  Code QualityThis dimension measures automated test coverage—the percentage of a service's codebase exercised by automated tests. Coverage is tracked per service and rolled into the score as a direct percentage. Higher coverage is a leading indicator of fewer regressions across releases.⚡  Reliability Against Our CommitmentsEvery service has a reliability target—a service-level objective (SLO)—that it's expected to meet, and this dimension tracks the error budget remaining against that target. The calculation pulls reliability data across AJO's internal service dependencies, so if a service depends on another AJO service that's degraded, that impact is reflected in this score—even though the dependency relationship itself isn't shown directly. This dimension is scoped to dependencies within AJO; it doesn't extend into upstream platforms like Adobe Experience Platform or Real-Time CDP.🚨  Incident Follow-ThroughThis dimension is measured against committed SLAs for incident resolution and root-cause closure. It tracks whether root-cause analysis and every corrective action tied to a CSO (Critical Service Outage) are fully completed—not just whether the incident was mitigated. A CSO isn't marked closed in this score until every associated action item is actually done.🐛  Speed of ResolutionThis dimension tracks how quickly reported issues get resolved, weighted by severity against SLA targets. That includes issues reported through Adobe Support, as well as issues caught internally before they ever reach a customer—including bugs caught through our automated Customer Use Case (CUC) testing, which runs real customer scenarios end-to-end against every release candidate. A critical, widely-felt issue is held to a tighter SLA than a low-severity edge case, and that weighting is built directly into the score.We covered CUC testing in detail in an earlier post: Catching Bugs Before Customers Do. A service's overall grade blends the dimensions that apply to it:A Excellent — low risk, high discipline B Good — healthy, minor gaps C Acceptable — attention needed D Poor — active remediation underway F Critical — immediate escalation Every service on AJO is held to a bar of B or better across all four dimensions. Why We Built It This WayA grade only matters if it's trustworthy, so we designed the Scorecard around a few principles:The same yardstick, every time. Every service is measured identically, so a grade means the same thing no matter which team or capability you're looking at. Updated twice a day, not quarterly. Grades roll forward continuously, so what you're looking at reflects current reality, not a stale snapshot. A named owner for every score. Each service has someone directly accountable for its grade, with clear visibility into exactly what's driving it up or down. Zoomed in or zoomed out. The same data supports a leadership-level view of overall platform health and a team-level view of a single service—so everyone from an engineer to a director is looking at the same underlying truth. A FAIR QUESTION We know the obvious one: doesn't self-grading just let a team grade itself easy? Every score comes from the same systems—incident tickets, test coverage, reliability dashboards, support tickets—used organization-wide, not something a team curates. And the bar itself is fixed platform-wide; no team can lower it to flatter its own grade.   How a Grade Gets MadeThis is the core of the Scorecard: a single algorithm that calculates each of the four dimension scores for every service, independently, across every production region that service runs in—using the same formula and the same thresholds everywhere. Standardization is what makes an A in one region comparable to an A in another, and what makes a director's platform-wide view and an engineer's single-service view consistent with each other.The Service Registry is the backbone this rolls up from. It's the source of truth for which services exist, who owns each one, which capability each service belongs to, and which regions it runs in. Every rollup—service to capability, capability to platform—is driven by the Service Registry's ownership and grouping structure, not by any team's own reporting.Each dimension draws on its own signal: Support & Incident Tickets for Incident Follow-Through, Automated Test Coverage for Code Quality, Support tickets plus automated Customer Use Case testing for Speed of Resolution, and Reliability Monitoring for Reliability Against Our Commitments. Those four scores blend into one A–F grade per service, calculated per region and then rolled up—using the Service Registry's structure—into an overall picture of platform health. Four per-region signals blend into one grade; the Service Registry drives every rollup from service to capability to platform. When a Score Slips, Deployments WaitA grade isn't just for visibility—it drives real action. When a service's grade falls below our bar, it becomes a candidate for what we call quarantine. Leadership reviews the full picture—score, incident history, team capacity, business impact—and services selected for quarantine enter a focused remediation period: production changes pause, including hotfixes, unless leadership explicitly signs off on an exception, while the team's full attention shifts to a concrete set of fixes.Getting out of quarantine takes more than a single number recovering. A service has to reach an overall B grade—and get sign-off from engineering leadership that the underlying risk is genuinely resolved, not just papered over. To be clear : Quarantine doesn't mean a service stops running—your existing journeys and campaigns keep operating. It means that team's roadmap pauses so they can focus entirely on the fix.  We take this stance deliberately. A low grade on any of the four dimensions is a signal that a customer, somewhere, is already feeling the effects—whether that's a slower resolution time, a reliability gap, or an incident that hasn't been fully closed out. Shipping new capabilities on top of that isn't a trade-off we're willing to make.This also puts real ownership in the hands of the engineers closest to the work. Rather than quality being managed from a distance, the teams who know a service best are the ones empowered—and expected—to fix it. What This Means Going ForwardThis system is built to catch and resolve issues before they reach you—minimizing customer impact is the goal behind every one of these four dimensions, from root-cause closure to error budget tracking to resolution SLAs. It gives us a continuous, standardized way to hold every service to the same bar, across every region, and act before a quality gap turns into a customer-facing problem.That's what lets your journeys, campaigns, and customer experiences run the way you'd expect them to, day in and day out.  COMING NEXT IN THIS SERIES How we're using AI to onboard every AJO service onto a standardized set of service-level objectives—turning a process that used to require deep manual expertise into something fast, consistent, and automatic. Stay tuned.  Authors: Shivam Chamoli, Kevin Cabral, and Jigar Shah