- All filter nodes reference your entire contact database, even if they are filtering for a single contact, so use them efficiently.
- You should never run multiple filters sequentially; replace them with a single combined segment.
- Never place a filter immediately after a transactional entry node. Content should be personalized within the email where possible. For more information, see Emails.
- Avoid having the same segment run more than once at the same time. For example, if you select a segment for the Exit criteria, this will run after every Wait node in the program, so make sure these are set for different times of the day.
- A segment can only be run by one program at a time, so if the same segment is referenced by multiple programs at the same time, the segment will be queued and processed program by program. This also applies to Exit criteria. You can get around this by making copies of the segment and referencing a different copy in each program.
- Avoid running many Segment nodes in parallel, since all contacts must be processed by each one. Use a cascading set of Filter switches instead.
Using the same segment in multiple programs
Each individual segment can only be active in one program at any one time. If you have several programs with similar design, using exactly the same segment simultaneously, only one segment instance will be processed and the others will be queued. The same applies to exit conditions as well; if multiple programs are running with the same exit condition they can block each other.
There are several options to avoid segment runs being queued:
- If your use case allows, launch the several similar programs at different times; the segments will be accessed at staggered intervals.
- Put a short waiting node before the segments, with a different time in each.
- Make as many copies of the segment you have programs, so that they will be running different segments but with the same segment logic.