Note: If a cause has not been identified after performing the below troubleshooting, contact Salesforce Marketing Cloud Global Support.
Events were not fired to interaction
In order for an interaction to process a contact, an event must be fired to the trigger in one of the following ways:
- Date-based event.
- Scheduled contact event.
- Fire event activity run via Automation Studio.
- An event fired via the REST API.
If your interaction is using a date-based event, you'll want to verify at what time the trigger is configured to run.
1. Go to Journey Builder | Interactions.
2. Enter the name of the interaction in the search bar, then click the magnifying glass to search.
3. Click the name of the interaction.
4. Review the scheduling section to view the Time, Time Zone, and Re-entry settings for the event.
5. If the scheduled time has not yet passed, wait until after that time and re-evaluate.
If your interaction is using a fire event activity run via Automation Studio, you'll want to verify at what time the automation is scheduled to run, and if the automation has encountered any errors.
1. Go to Marketing Automation | Automation Studio.
2. Enter the name of the automation in the search bar, then click the magnifying glass to search.
3. The Last Run field will display the time at which the automation last started. If there are two dashes, that means the automation has never been run.
4. The Progress field will display the current status of the automation if it's still running. If it's no longer running, it'll either display the time the automation completed or errored. If it errored, it'll display the step at which the error occurred.
Still having issues and not sure who to contact?
- If the automation errored, and you're unable to identify the reason why the automation errored, please contact Salesforce Marketing Cloud Global Support.
- If your interaction is firing an event via the REST API, please contact your developers for assistance.
Contacts are missing from the Data Model, or have been filtered from the Entry Event
In order for a contact to be injected into an interaction, there are several criteria it must meet:
- It must be present in a sendable data extension that is assigned as an event source for an entry event.
- It must be present in a data extension marked as a root data extension.
- The field marked as the channel address in the root data extension (Email Address Data Type, Phone Number Data Type, etc...) must be added to the appropriate channel address order in Contact Builder | Contacts Configuration | Channel Address Order.
- Email Only: If it's not present in a data extension marked as a root data extension, it must be present on the Email All Subscribers List.
As a best practice, use an event in test mode prior to activating an interaction to see a report of which contacts will and will not be injected into the interaction.
A contact may be filtered from injection into an interaction for three reasons:
- The contact did not meet the entry criteria.
- The interaction allows only single entry, and the contact already exists in the same interaction.
- The contact has already met the goal criteria, and the option has been selected for contacts to exit once meeting goal criteria.
To confirm if contacts are failing to inject because they are missing from the data model, or have been filtered from the interaction:
1. Go to Journey Builder | Interactions.
2. Enter the name of the interaction in the search bar, and then click the magnifying glass to search.
3. Click on the name of the interaction.
4. Under the scheduling section, click Trigger Performance.
This will show a bar graph display of how all contacts were handled for the specified trigger. If you wish to view the individual contacts for a particular status, click on the corresponding section on the bar. You will then be taken to the Contact History section.
If the contact is missing from the data model, you will see one of these statuses:
- Error Binding Data Bound Member.
To resolve this issue, the contacts should be added to a data extension marked Use as Root in an attribute group in Contact Builder. For more information about configuring data extensions in Contact Builder, see the ‘How to Edit Data Extension Relationships’ section of the Data Designer article.
If the contacts have been filtered from injection, you'll see one of these statuses:
The status of "DidNotMeetEntryCriteria" simply means that the contact didn't meet the conditions of the filter used by the entry event. "CurrentlyWaitingInSameInteraction" means that the interaction is set to allow single entry only, and the contact is already in the interaction. 'GoalCriteriaMet' means that the interaction's goal is set to exit contacts when they meet the goal criteria, and the contact has already met that criteria.
Channel Address Order Has Not Been Set for a Root Data Extension
Navigate to Contact Builder | Contacts Configuration | Channel Address Order. To confirm that there are no channel addresses that have failed to be added to the Channel Address Order, perform the steps below for each available channel:
1. Note the total number of addresses listed in the channel, then subtract 1 (for the system default address). For example, if there are 6 addresses listed total under the Email channel, note 5.
2. Click Edit.
3. Click Add Address.
4. In the box that appears, each of the listed folders refers to a data extension connected to an attribute group in Contact Builder that has a field with a data type of Email Address. Expand each folder icon by clicking on each folder once.
5. Under each folder, you'll see one or more bulleted items in a list. These refer to field names in the data extension that have the appropriate data type for the channel you are reviewing. For example, fields with an Email Address data type under the Email channel.
6. Count the number of bulleted items across all folders. Compare this number to that noted in step 1.
If there are more items listed on this screen than you noted previously, then it is possible one or more root data extensions are missing from the channel address order. Compare the individual data extension and field names to those in the existing channel address order. In the order, these will be formatted as [Data Extension Name].[Field Name].
For example, if in the box you see a folder named Master_Subscriber_List, with a field named email_address, this would appear in the channel address order as Master_Subscriber_List.email_address.
If there are addresses that have not been added, the account administrator will need to do so.
Contacts fell below the High Water Mark
Journey Builder tracks the last event processed for the event source data extension to prevent individual events from being injected into an interaction more than once. This is known as the "High Water Mark." When an event is run, only records in the event source data extension above the High Water Mark will be processed. Records below the High Water Mark will be ignored.
This becomes problematic if an event source data extension has a primary key set on the field related to Subscriber Key. If an import or query activity is updating records in the event source data extension, they will not be assigned a new row in the data extension. This means that for contacts who may now meet filter criteria for the trigger, but who did not on previous runs of the entry event, they will still not be injected since they fall below the High Water Mark.
In order to avoid issues with the High Water Mark, it is recommended as a best practice to either use no primary key on the event source data extension, or to use a primary key other than Contact Key, Email Address, Mobile Number, or Device ID.
For more information on primary keys and data extensions, please see the related topics below.