Expand my Community achievements bar.

Join us on September 25th for a must-attend webinar featuring Adobe Experience Maker winner Anish Raul. Discover how leading enterprises are adopting AI into their workflows securely, responsibly, and at scale.
SOLVED

AJO Events behavior

Avatar

Level 4

Hi! Suppose we have an event configured to listen for new entries into a specific schema (X schema). If I have a journey published and listening to that event, will a new entry into that schema (for example, coming from Web SDK) automatically trigger the journey?

 Or does the journey only trigger if the incoming payload exactly matches the JSON structure defined in the event?In other words, an entry into the AEP schema (if it meets the journey event condition) won’t necessarily trigger the event journey because the journey is expecting for a different payload structure from that specific event?

For example, if I upload a .csv file to that X schema and the journey is listening for new entries into that schema, will it trigger the journey? Or will it not trigger because the journey is specifically listening for the event's payload?

Thanks

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Kindly take a look at the following note. Unitary journeys (event based) are triggered when the event criteria is satisfied and when the event is streamed into AEP.

 

Mohan_Dugganab_0-1745718781957.png

https://experienceleague.adobe.com/en/docs/journey-optimizer/using/configure-journeys/events-journey... 

 

View solution in original post

9 Replies

Avatar

Correct answer by
Employee Advisor

Kindly take a look at the following note. Unitary journeys (event based) are triggered when the event criteria is satisfied and when the event is streamed into AEP.

 

Mohan_Dugganab_0-1745718781957.png

https://experienceleague.adobe.com/en/docs/journey-optimizer/using/configure-journeys/events-journey... 

 

Avatar

Level 4

ok so if I upload, for example, a .csv into AEP for that schema, it won't trigger the event journey? Is that correct? For triggering the journey I must call the exact payload for that event?

Avatar

Employee Advisor

Right - csv upload won't trigger the event journey. Data matching the event criteria needs to be streamed in for the journey to be triggered.

Avatar

Community Advisor

@Silvio6   Journey only triggers if the incoming payload matches the condition defined in the event

Avatar

Level 7

Hi @Silvio6 ,

 

A Journey Event is triggered based on an event definition, not just any raw data entering a schema.

 

When you configure a custom event to listen to a schema (X schema), you are also implicitly defining an expected payload structure (fields, types, etc.).

 

The incoming payload (whether from WebSDK, batch ingestion like a .csv upload, API, etc.) must match the event's definition for the journey to be triggered.

 

If the incoming data matches the event's payload structure (e.g., the right fields, right types, etc.), and satisfies any event conditions you've set (like a field = 'value'), then the journey will trigger.

 

If the incoming data does not match the event definition (even if it lands in the correct X schema), then the journey will not trigger.

 

Specific to your scenarios:

  • Web SDK Entry:

    • If the Web SDK sends data that matches the event's expected structure — the journey triggers.

    • If the Web SDK sends different fields/missing fields, the journey won't trigger.

  • .csv Upload:

    • Uploading a .csv file into X schema will NOT automatically trigger the journey.

    • Why? Because:

      • CSV batch uploads are treated differently (they're often batched for ingestion pipelines).

      • Even if it ends up in the same schema, journey events expect real-time data ingestion, not batched ingestion unless batch ingestion is specifically configured to generate events.

      • Batch ingestion does not by default trigger journey events unless you create a separate event or configuration that listens to batch ingestion events.

Avatar

Level 4

Thanks! I didn't understand the 3rd point regarding batch events. Journey can't be triggered if that schema receives batch ingestions?

 

Avatar

Level 7

Hello @Silvio6 ,

 

When you publish a Journey that listens to an event (tied to a schema), it expects real-time ingestion.

 

The system expects a real-time experience event (or a profile update event) to be pushed into AEP that matches the event definition.

 

Batch ingestion (like uploading a .csv file or importing through a batch API) does not trigger journeys by default because (assuming it's not Read Audience based entry for audience created with batch type):

Batch ingestion is processed differently - it's asynchronous, not "live."

The system does not treat every new batch record as an "event" to trigger journeys unless you configure it separately.

 

More technically:
AEP distinguishes between:

Real-time ingestion (Experience Events, like WebSDK, Streaming API - triggers journeys immediately).

Batch ingestion (files, .csv, nightly updates - meant for updating profiles in bulk - does not fire Journey events automatically).

 

Batch ingestion updates the data lake and profile store, but does not produce the event "fire" that journeys listen for.

 

Journey listens to events, not to schema updates.

Avatar

Level 4

ok, so does this mean that every time we create a new event, we have to share the payload with the client so they can manually add it to their implementation? It feels a bit unscalable. Isn't there a way to match the AEP ingestion to schema with the event payload?

Avatar

Level 7

Hi @Silvio6 ,

 

When you create an event in AJO:

  1. You select a schema (XDM schema).

  2. You define the payload structure - a subset of the schema fields, their types, and optionally add conditions.

  3. AJO expects that exact structure when the event is triggered (via Web SDK, API, etc.).

  4. So yes - developers must:

    • Know which event is expected.

    • Send a payload that conforms to the expected structure.

    • This usually requires manual coordination (i.e., you sending them the expected JSON payload).