Adobe Journey Optimizer: Telltide Seed Address Guide
Place Telltide seeds in Adobe Journey Optimizer audiences and journeys.
Product scope: This guide covers Adobe Journey Optimizer (AJO), built natively on Adobe Experience Platform (AEP) and using AEP's Real-Time Customer Profile as its identity layer.
AJO does not have a dedicated "seed address" record type. Instead, seeds are regular AEP profiles, optionally flagged with testProfile: true. Test profiles are used in Journey Test mode and Campaign proof sends. They are not automatically injected into live running journeys alongside real recipients. For ongoing live monitoring, the seed must be a real AEP profile that naturally qualifies for the journey trigger (event, audience qualification, or read audience), with testProfile left unset or false.
Quick reference
| Send type | Where to add seeds | Complexity |
|---|---|---|
| Scheduled (Campaign) | Proof send to test profile, or include seed profile in audience | Low to Medium |
| Ongoing (Journey, event-triggered) | Seed must receive the trigger experience event via Streaming Ingestion or source data | Medium |
| Ongoing (Journey, audience qualification) | Seed must qualify for the trigger audience (streaming or batch) | Medium |
| Ongoing (Journey, read audience) | Seed must be a member of the audience at each scheduled run | Medium |
| Test mode (pre-live validation) | Activate Test mode on the journey, select a testProfile to inject | Low |
1. Scheduled / one-off sends (Campaigns)
AJO Campaigns are one-time or recurring sends to a defined audience. Two types exist: Scheduled (audience-based, runs at a set time) and API-triggered (fires per-profile via API call).
For proof validation before a campaign goes live, use proof sends. AJO can send the campaign content to a test profile before the campaign runs. For ongoing receipt monitoring after the campaign is live, the seed profile must be a member of the audience the campaign targets.
Non-technical path
For CRM managers using only the AJO UI.
Create a seed profile in the UI:
- Navigate to Audiences > Profiles in AJO (or Profiles in the AEP UI)
- Click Create test profile (or Create profile for a live-monitoring seed)
- Choose the identity namespace (typically Email) and enter the seed email address
- Fill in profile attributes referenced by personalization (first name, last name, etc.)
- Set
consents.marketing.email.val = yso AJO does not suppress the send - For a Test mode profile, leave the Test profile flag on. For a live-monitoring seed, leave it off so the profile behaves like a real recipient
- Save
Add the seed to a campaign audience:
- Open Audiences > Browse, locate the audience the campaign targets, and confirm the seed qualifies. If it does not, create an "always-include" audience that targets the seed directly (a segment rule like
personalEmail.address equals seed@example.com) - In the campaign Audience step, click Combine audiences and add the always-include audience with OR logic alongside the main audience
- Save the campaign. The seed now receives every send, not only proofs
Send a proof of campaign content:
- Open the campaign's email content in the Email Designer
- Click Simulate content
- Open the Test profiles tab and pick the seed
- Click Send proof. The seed receives the rendered email for review
Technical path
For developers using the AEP Profile and Streaming Ingestion APIs.
Test profiles and live-monitoring profiles are AEP profiles ingested via Streaming Ingestion against a profile-enabled dataset. This requires an IMS access token and a configured streaming connection (also called an inlet).
Step 1, get an IMS access token (OAuth Server-to-Server):
POST https://ims-na1.adobelogin.com/ims/token/v3
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id={{client_id}}&client_secret={{client_secret}}&scope=openid,AdobeID,read_organizations,additional_info.projectedProductContext
JWT (Service Account) credentials are no longer accepted as of 1 March 2026. Use OAuth Server-to-Server. Tokens expire after 24 hours.
Step 2, stream the profile record:
POST https://dcs.adobedc.net/collection/{CONNECTION_ID}
Authorization: Bearer {{ims_access_token}}
Content-Type: application/json
sandbox-name: {{sandbox_name}}
{
"header": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
},
"imsOrgId": "{{IMS_ORG_ID}}",
"datasetId": "{{PROFILE_DATASET_ID}}",
"source": {
"name": "Telltide seed profile"
}
},
"body": {
"xdmMeta": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"xdmEntity": {
"_id": "seed-monitor-001",
"testProfile": false,
"personalEmail": {
"address": "seed@example.com"
},
"person": {
"name": {
"firstName": "Seed",
"lastName": "Monitor"
},
"birthDate": "1990-04-15"
},
"consents": {
"marketing": {
"email": { "val": "y" }
}
}
}
}
}
Set testProfile: true only if the profile is for Test mode or proof sends. For live monitoring (seed receives real campaigns), set testProfile: false or omit it.
Credential locations:
CONNECTION_ID: AEP > Sources > Streaming HTTP API connection. Older docs and UI may still call this an "inlet ID"IMS_ORG_ID,client_id,client_secret: Adobe Developer Console (console.adobe.io) > Your project > OAuth Server-to-Server credentialsPROFILE_DATASET_ID: AEP > Datasets, find your profile-enabled datasetSCHEMA_ID,TENANT_ID: AEP > Schemas, open the profile schema and read the$id
Synchronous validation (optional): Append ?syncValidation=true to the streaming endpoint to get inline schema validation feedback. Synchronous validation requires the VA7 data centre.
Note: Streaming ingestion is asynchronous. Allow a few minutes for the profile to be queryable in the Real-Time Customer Profile and to appear in audiences.
Verify the profile is queryable:
GET https://platform.adobe.io/data/core/ups/access/entities?schema.name=_xdm.context.profile&entityIdNS=Email&entityId=seed%40example.com
Authorization: Bearer {{ims_access_token}}
x-api-key: {{client_id}}
x-gw-ims-org-id: {{IMS_ORG_ID}}
x-sandbox-name: {{sandbox_name}}
Always-on flow coverage
For recurring scheduled campaigns where the seed must receive every send, not only proofs.
- Audience membership. Confirm the seed qualifies for the campaign's primary audience. If audience qualification depends on profile attributes (loyalty tier, region, lifecycle stage), set those attributes on the seed so it qualifies organically. If you do not want to fake those attributes, create a small "Telltide seed" audience (rule:
personalEmail.address equals seed@example.com) and combine it with the campaign audience using OR in the campaign's audience step. - Source data feed. If the campaign audience is built from an external data source (CRM export, data warehouse query, or batch ingestion), include the seed in that source so the audience continues to contain it after each refresh.
- Recurring run cadence. For a recurring campaign, verify the audience is recomputed before each run. For batch audiences, the snapshot must include the seed at evaluation time. Enable Trigger after batch audience evaluation on the schedule so the campaign runs against the latest snapshot.
- Consent and suppression. Re-check the seed's
consents.marketing.email.valisyand that the seed email is not on the AJO suppression list before each launch.
Profile attributes required
Seeds need:
- Email address mapped to the Email identity namespace in AEP
testProfile: trueonly if the seed is used for proof sends or Journey Test mode; leave itfalse(or unset) for live monitoring- Consent set to allow email sends (
consents.marketing.email.val = yon a profile-enabled schema with the Consents and Preferences field group) - Values for any profile attributes referenced in personalization (
{{profile.person.name.firstName}}etc.) - Email address not present on the AJO suppression list
Ensuring seeds receive the same version as real recipients
Content experiments (A/B): AJO Campaigns support content experiments with multiple treatments. Seeds assigned to the audience receive one treatment variant based on the experiment split. Use multiple seed profiles to monitor all treatments, or run the experiment with deterministic variant assignment based on profile identity.
Conditional content: AJO uses Expression Editor conditions based on profile attributes. The seed receives the content block matching its own profile data. Set profile attributes to match the audience segment you want to monitor.
Gotchas
Consent and communication preferences: AJO enforces AEP consent attributes by default. If the seed profile's email consent is not set to allow, the send is suppressed. Set consents.marketing.email.val = y (or the equivalent in your profile schema) on the seed.
Suppression list: AJO maintains a suppression list (Administration > Channels > Email configuration > Suppression list). Email addresses added due to hard bounce, spam complaint, or manual entry receive no sends. Check and remove the seed email before testing.
Frequency capping (Business Rules): AJO Business Rules (Administration > Business rules) enforce frequency caps by channel. In Test mode, sends are exempt from frequency capping. In production, all profiles, including profiles flagged testProfile: true, are subject to the caps. If a single seed sits in many monitored journeys, raise the cap or use a separate seed per journey.
2. Ongoing / automated journeys (Journeys)
AJO Journeys are event-driven or audience-driven automation flows that operate on the Real-Time Customer Profile.
Journey entry types
| Entry type | How it works | Seed approach |
|---|---|---|
| Unitary (event-triggered) | A single profile triggers the journey by generating a qualifying AEP experience event | Seed must receive the qualifying event via Streaming Ingestion or the source system |
| Audience qualification | Profiles enter the journey when they enter (or exit) an AEP audience | Seed must qualify for the trigger audience |
| Read audience | All profiles in an audience are processed once or on a recurring schedule (default 5,000 profiles per second) | Seed must be a member of the audience at the run time |
| Business event | A business-level event triggers a batch of profiles to enter | Seed must match the business-event filter |
Non-technical path
For CRM managers using only the AJO and AEP UI.
- Create the seed profile in the UI. Audiences > Profiles > Create profile. Enter the seed email under the Email namespace, set personalisation attributes, set
consents.marketing.email.valtoy, and leave Test profile off for a live-monitoring seed. - Add the seed to the journey's trigger audience (audience qualification or read audience journeys). Open Audiences > Browse, find the journey's trigger audience, and either: - Add an OR clause that lets the seed in directly (rule:
personalEmail.address equals seed@example.com), or - Adjust the seed's profile attributes so it qualifies organically (loyalty tier, lifecycle stage, last-purchase date). - Wait for audience evaluation. Streaming audiences refresh near real time but propagate from Edge to Hub in 15 to 30 minutes. Batch audiences refresh on their schedule (often nightly). The journey will not pick up the seed until the audience snapshot includes it.
- For event-triggered journeys. Trigger the qualifying experience event from the UI is not supported for live journeys. Either fire the event from the source system that normally generates it (a real cart abandon, a real form submit), or use the Technical path below.
- Validate first with Test mode. Toggle Test on the journey, click Trigger an event or Trigger audience, and pick a profile flagged
testProfile: true. Test mode does not replace live monitoring but proves the journey configuration before launch.
Technical path
For developers using AEP Streaming Ingestion to push qualifying events and profile updates.
For each journey type below, the seed profile must already exist in AEP (see the Section 1 technical path for the profile-streaming call). The snippets below show the qualifying experience event you stream to make the seed enter the journey.
Welcome / onboarding (unitary event-triggered, subscription event)
- Trigger: AEP experience event of type "subscription" or "profile created" (depends on journey configuration)
- Seed requirements: Test profile with email and consent attributes set
- How to trigger: Stream a qualifying event for the seed profile's identity:
POST https://dcs.adobedc.net/collection/{CONNECTION_ID}
Authorization: Bearer {{ims_access_token}}
Content-Type: application/json
sandbox-name: {{sandbox_name}}
{
"header": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{EVENT_SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
},
"imsOrgId": "{{IMS_ORG_ID}}",
"datasetId": "{{EVENT_DATASET_ID}}",
"source": { "name": "Telltide seed event" }
},
"body": {
"xdmMeta": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/{EVENT_SCHEMA_ID}",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"xdmEntity": {
"_id": "event-seed-001",
"timestamp": "2026-04-15T10:00:00Z",
"eventType": "subscription",
"identityMap": {
"Email": [
{
"id": "seed@example.com",
"primary": true
}
]
}
}
}
}
Replace eventType with the specific event type your welcome journey listens for.
Abandoned cart (unitary event-triggered, commerce event)
- Trigger: AEP commerce experience event (
commerce.cartAbandonsor a custom event type) - Seed requirements: Test profile with email; cart data attributes for personalization
- How to trigger: Stream an experience event with
commerce.cartAbandonsset and product list items:
{
"xdmEntity": {
"_id": "event-seed-cart-001",
"timestamp": "2026-04-15T10:00:00Z",
"eventType": "commerce.cartAbandons",
"identityMap": {
"Email": [{ "id": "seed@example.com", "primary": true }]
},
"commerce": {
"cartAbandons": { "value": 1 }
},
"productListItems": [
{
"SKU": "SKU-123",
"name": "Widget Pro",
"priceTotal": 95.00,
"quantity": 1
}
]
}
}
Important: Abandoned cart journeys typically include a wait step (e.g., 1 hour) before the first send. The seed waits in the journey alongside real profiles. If the journey has a condition checking for a subsequent purchase event, ensure the seed does not receive a purchase event during the wait window or it will exit the journey prematurely.
Browse abandonment (unitary event-triggered, web event)
- Trigger: AEP experience event of type
web.webpageDetails.pageViews(or custom browse event) without subsequent purchase - Seed requirements: Test profile with email; browse data (product viewed) for personalization
- How to trigger: Stream a web/product view event for the seed profile. Same Streaming Ingestion API structure as above with the appropriate
eventTypeand product details.
Winback / re-engagement (audience qualification)
- Trigger: Profile qualifies for a "lapsed customer" audience (e.g.,
lastPurchaseDatemore than 90 days ago) - Seed requirements: Profile with
lastPurchaseDateattribute set to a date older than the lapse threshold - How to trigger: Update the seed's
lastPurchaseDateattribute via Streaming Ingestion (a profile-record update against the profile-enabled dataset). Wait for AEP audience evaluation. Streaming audiences propagate from Edge to Hub in 15 to 30 minutes; batch audiences refresh on their schedule. Once the seed enters the audience, the audience-qualification journey fires.
Post-purchase (unitary event-triggered, order event)
- Trigger: AEP commerce event
commerce.purchases - Seed requirements: Test profile with email; order data for personalization
- How to trigger:
{
"xdmEntity": {
"_id": "event-seed-order-001",
"timestamp": "2026-04-15T10:00:00Z",
"eventType": "commerce.purchases",
"identityMap": {
"Email": [{ "id": "seed@example.com", "primary": true }]
},
"commerce": {
"purchases": { "value": 1 },
"order": {
"purchaseID": "TEST-ORD-001",
"priceTotal": 149.99,
"currencyCode": "USD"
}
},
"productListItems": [
{
"SKU": "SKU-123",
"name": "Widget Pro",
"priceTotal": 149.99,
"quantity": 1
}
]
}
}
Birthday / anniversary (audience qualification)
- Trigger: Profile qualifies for an audience where
person.birthDatemonth and day match today - Seed requirements: Profile with
person.birthDateset so today's month and day match - Audience rule example (AEP Audience Builder):
Month of person.birthDate equals currentMonth AND Day of person.birthDate equals currentDay - For same-day testing: Set the seed's
person.birthDateto today's date. Wait for the next audience evaluation cycle. Once the seed qualifies, it enters the journey. - Date format: ISO 8601 date (
YYYY-MM-DD) in AEP profile attributes.
Always-on flow coverage
For long-running event-triggered, audience qualification, and read audience journeys where the seed must enter every cycle.
- Seed must satisfy the journey's qualification trigger. - For audience qualification journeys, the seed must enter the trigger audience. Edit the audience definition to include an OR clause that matches the seed (rule:
personalEmail.address equals seed@example.com), or set the seed's profile attributes so it qualifies organically. - For read audience journeys, the seed must be a member of the audience at the moment the read audience activity runs. For batch audiences, enable Trigger after batch audience evaluation so the journey reads the latest snapshot. - For unitary event-triggered journeys, the seed must receive the qualifying experience event. Either fire it from the source system (a real action by the seed) or stream it via the Streaming Ingestion call shown above on the same cadence as real customer events. - Add OR clauses to read-audience and qualification rules. Rather than fake business attributes on the seed (loyalty tier, region, lifecycle stage), add an explicit OR branch in the AEP Audience Builder that admits the seed by email or by a
telltideSeed = truecustom attribute. This keeps the seed in the audience even after the underlying business rules change. - Ingest the seed into source data feeds. If the audience is built from a CRM export, data warehouse query, or batch dataset, the seed must be present in that source so it survives every audience refresh. Add the seed once to the upstream source, or run a periodic Streaming Ingestion call to keep the seed's profile attributes current.
- Re-entry settings. Many journey types disable re-entry by default. For monitoring journeys, enable re-entry with no waiting period (or a 24-hour period that matches the test cadence). Without re-entry, the seed enters once and never enters again.
- Frequency capping. Business Rules apply to live profiles, including a seed that has
testProfile: false. If the seed is part of multiple monitored journeys, raise its per-channel cap or use a dedicated email per journey. - Edge-to-Hub propagation. Plan for a 15 to 30 minute lag between a streaming audience qualifying the seed and the audience-qualification journey acting on it. Read audience journeys at default 5,000 profiles per second comfortably include the seed once it appears in the snapshot.
Journey Test mode
Before setting a journey live, activate Test mode to validate the journey flow with test profiles. This is the recommended approach for pre-live validation - it does not replace live production monitoring.
- Open the journey in draft state
- Toggle Test in the journey header
- The journey enters test mode - sends from test mode are clearly marked
For event-triggered journeys in test mode:
- Click Trigger an event (bottom of the canvas)
- Select the namespace and identity value for your test profile
- Optionally provide event field values (e.g., cart items for an abandoned cart journey)
- Click Send - the test profile enters the journey
For audience-triggered journeys in test mode:
- With Test mode active, click Trigger audience
- Select up to 100 test profiles to inject into the journey
- The selected profiles proceed through the journey steps
Test mode limits:
- Only profiles with
testProfile: truecan be used in Test mode - Test mode sends do not count toward real frequency caps
- Test mode journeys run with accelerated wait times (configurable: up to 1000x speed)
- Maximum 100 test profiles per test run
How to reset seeds for repeated Journey testing
Journey re-entry settings: Journeys have configurable re-entry settings. If re-entry is disabled (default for many journey types), the same profile cannot re-enter until the re-entry waiting period expires.
Re-entry workarounds:
- Edit re-entry settings: Enable re-entry with no waiting period for monitoring journeys (if journey logic allows)
- Profile exit: Wait for the profile to complete or exit the journey, then re-trigger
- Test mode: Use Test mode with accelerated waits to cycle through journey steps quickly before going live
Streaming event re-trigger: For event-triggered journeys, stream a new qualifying event for the seed profile (new timestamp, new event _id). If re-entry is enabled, the seed enters a new journey instance.
3. Platform-specific considerations
API options
Get IMS access token (OAuth Server-to-Server):
POST https://ims-na1.adobelogin.com/ims/token/v3
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id={{client_id}}&client_secret={{client_secret}}&scope=openid,AdobeID,read_organizations,additional_info.projectedProductContext
Stream profile or event data:
POST https://dcs.adobedc.net/collection/{CONNECTION_ID}
Authorization: Bearer {{ims_access_token}}
Content-Type: application/json
sandbox-name: {{sandbox_name}}
Add ?syncValidation=true to receive inline schema validation feedback (VA7 data centre only).
Read a profile (for verification):
GET https://platform.adobe.io/data/core/ups/access/entities?schema.name=_xdm.context.profile&entityIdNS=Email&entityId=seed%40example.com
Authorization: Bearer {{ims_access_token}}
x-api-key: {{client_id}}
x-gw-ims-org-id: {{IMS_ORG_ID}}
x-sandbox-name: {{sandbox_name}}
Trigger an API-triggered Campaign: AJO exposes a per-org Message API for API-triggered campaigns. The exact base URL is org and region-specific and is shown in the campaign's Send via API panel after publishing. Refer to your AJO instance's API documentation for the endpoint.
Credential location: Adobe Developer Console (console.adobe.io) > Select your project > OAuth Server-to-Server credentials.
Region-specific API bases: AEP/AJO API endpoints vary by region. Confirm your org's region from AEP > Settings or the Adobe Admin Console.
Rate limits
Adobe Experience Platform Streaming Ingestion is designed for high throughput. For seed management (low volume), rate limits are not a concern. For bulk profile backfills, use AEP Batch Ingestion instead of Streaming Ingestion.
Audience qualification journeys process up to 5,000 transactions per second. Read audience journeys default to 5,000 profiles per second and can be configured between 500 and 20,000.
IMS access tokens expire after 24 hours (86,399 seconds). Automated seed management scripts must refresh tokens. Cache the token and refresh before expiry using the OAuth Server-to-Server endpoint. JWT (Service Account) credentials are no longer accepted as of 1 March 2026.
Duplicate contact handling
AEP uses an identity graph to merge profiles from multiple sources. Two records with the same email address are linked via the Email identity namespace and merged into a single Real-Time Customer Profile. There is no "duplicate profile" issue from the journey's perspective - the identity graph resolves them to one profile.
Seeds should use a dedicated email address not used by any real customer to prevent accidental identity merges.
Platform-specific terminology
| AJO / AEP term | What it means |
|---|---|
| Real-Time Customer Profile | The merged profile built from all data sources in AEP. The identity that journeys operate on. |
| Identity namespace | The type of identifier used to link records (Email, Phone, ECID, CRMID, custom). |
| Identity graph | The graph linking all known identities for a single person across namespaces. |
| Experience Event | An immutable time-series event (page view, purchase, click) stored in AEP and used to trigger journeys. |
| XDM (Experience Data Model) | Adobe's standardized data schema framework. All data in AEP conforms to XDM schemas. |
| Streaming Ingestion | Real-time data ingestion via HTTP into AEP datasets and the profile store. |
| testProfile | Boolean attribute (true/false) on an AEP profile. Marks the profile for use in Journey Test mode and proof sends. |
| Journey | An automated flow triggered by events or audience membership. Equivalent to an Automation/Program in other platforms. |
| Campaign (AJO) | A one-time or recurring scheduled message send to an audience segment, or an API-triggered per-profile message. Not the same concept as an Adobe Campaign "Campaign". |
| Test mode | A journey state that allows test profiles to enter and traverse the journey with accelerated wait times, without affecting real recipients. |
| Proof send | Sending a Campaign or email content to test profiles for review before the campaign goes live. |
| Audience | A segment of AEP profiles defined by rules or by upload. Entry point for audience-triggered journeys and campaigns. |
| Audience qualification | A journey entry event that fires when a profile enters or exits a defined AEP audience. |
| Business Rules | AJO feature for frequency capping - limits the number of messages a profile can receive per channel per time window. |
| Suppression list | AJO-managed list of email addresses blocked from receiving sends (hard bounces, spam complaints, manual entries). |
| Sandbox | An isolated AEP environment (production or development). All API calls target a specific sandbox via the x-sandbox-name header. |
| Streaming connection (inlet) | An HTTPS endpoint configured in AEP Sources for Streaming Ingestion. Required for API-based event and profile data. The path segment is the CONNECTION_ID. |
| Datastream | A separate AEP construct that maps client-side Web SDK events to datasets. Distinct from a streaming connection. |
| Read audience | Journey entry activity that pulls all profiles from an audience once or on a recurring schedule. Default 5,000 profiles per second. |
| Edge-to-Hub propagation | The 15 to 30 minute delay between a streaming audience qualifying a profile at the Edge and the journey acting on it at the Hub. |
| Adobe Developer Console | Adobe's developer portal (console.adobe.io) where API credentials (OAuth Server-to-Server) are managed. |
Known limitations and workarounds
testProfile: true is required for Journey Test mode. Profiles without this flag cannot be used in Test mode. Set the flag at profile creation time - updating it on an existing profile requires a profile update via API or UI.
Test mode is pre-live only. Journey Test mode does not inject seeds into a live running journey. For live monitoring, the seed must qualify for the journey trigger organically (receive the qualifying event, or be in the qualifying audience).
Audience evaluation delay. Read audience and audience qualification journeys rely on AEP audience membership. Batch audiences evaluate on a schedule (typically daily or every few hours). Streaming audiences evaluate near real time but propagate from Edge to Hub in 15 to 30 minutes before journeys act on them. Plan seed timing around the slower of these.
IMS tokens expire after 24 hours. All Adobe API tokens (including for Streaming Ingestion and Profile API) expire after 24 hours. Implement token caching and refresh logic for automated seed management workflows.
Consent attribute must be set correctly. AJO respects AEP consent fields. A profile with email consent unset or denied receives no email sends, even in live production journeys. Set consents.marketing.email.val = y on seed profiles.
Journey re-entry is often disabled by default. Many journey types (especially welcome and post-purchase) disable re-entry to prevent repeat sends to the same profile. For repeated seed monitoring cycles, configure re-entry with an appropriate waiting period, or use separate seed email addresses per monitoring cycle.
Suppression list persists across journeys. If a seed's email address is added to the AJO suppression list (from a hard bounce or spam complaint during a previous test), it is blocked from all future sends. Check Administration > Channels > Email configuration > Suppression list and remove the address if present.
Streaming Ingestion is asynchronous. A successful 200 response from the Streaming Ingestion API means the data is accepted, not immediately available in the Real-Time Customer Profile. Allow a few minutes for the profile to be queryable and for event-based journey triggers to fire.
Start monitoring your Adobe Journey Optimizer sends
Place a Telltide seed in your Adobe Journey Optimizer audience, and we will tell you when an expected email did not land.
Start free