A/B testing your DM flows

Most DM automations are written once and never touched again. That is a waste, because small wording changes in the first message can change how many people click, reply or buy. A/B testing is how you find out which version works instead of guessing.
How a split works in a flow
In Chat33, an A/B Split node sits between the trigger and your messages. Each time the flow runs, it sends the person down path A or path B at random, according to a ratio you set (the percentage for path A, from 1 to 99). At 50, roughly half go each way.
A Random node does the same with two to five equal paths, which is useful when you want to compare three versions at once.
The split is per run, not per person forever. If the same person triggers the flow twice, they may see a different version the second time. For most tests that does not matter, since people rarely trigger the same flow twice.
What is worth testing
Test things that plausibly change behaviour. In rough order of impact:
- Where the link sits. Link in the first line vs after a sentence of context.
- The ask. "Reply YES for the checklist" vs "Want the checklist too? Reply YES."
- Message type (outside comment flows): plain text with a link vs a button.
- Length. One line vs three.
- Personalisation. "Hey " vs no greeting.
- The offer itself. A PDF guide vs a short video.
Remember the platform rules while designing variants. After a comment, the first message has to be plain text, so a button variant only makes sense in DM, story reply or follow-up flows. The comment-to-DM guide explains why.
Measuring the winner
A split is only useful if you can tell which side won. Decide the metric before you start, and make sure each path can be counted separately.
Clicks. Give each version's link a marker your website analytics can read, for example ?utm_content=a and ?utm_content=b on the destination URL. Your analytics then shows visits per version.
Replies. If the goal is a reply, ask each version for a different word ("Reply YES" vs "Reply SEND"). Separate keyword triggers then tell you exactly how many people answered each.
Tags. Add a Tag User node at the start of each path, such as test-hook-a and test-hook-b. You always know who saw what, and you can compare those groups later.
Use at least one of these. Without a per-path marker, you know the flow ran, but not which version did the work.
How long to run a test
Long enough that the difference is not luck. A practical rule for small accounts:
- Wait until each version has at least 100 people through it.
- If one version wins by a small margin, keep going; small leads often disappear.
- Only call a winner when the gap is clear and stable over several days.
For very small accounts, testing big differences works better than testing small ones. A different offer shows up in 50 people; a different emoji does not.
Mistakes that ruin tests
- Changing two things at once. If version B has a new hook and a new offer, you do not know which one mattered.
- Changing the flow mid-test. Editing a path restarts the comparison.
- Uneven traffic sources. A test that starts on a viral reel and ends on a quiet post compares audiences, not messages. Run both versions at the same time, which is exactly what a split does.
- Stopping at the first good day. Early results swing wildly.
- No clear metric. "It feels better" is not a result.
After the test
Make the winning version the only path, and write down what you learned. The notes matter more than the single test: after a few rounds you will know what your audience responds to, and new flows start from a better first draft.
Then test the next thing.
Instagram DM automation in Chat33A/B splits, random paths, tags and keyword triggers in one visual flow editor.