Skip to main content

Message frequency

Analytics → Message frequency answers a question most marketing tools quietly get wrong:

Am I sending too much?

It plots how many messages a person received against how likely they were to buy.

Why this chart usually lies​

Draw it naively and the line goes up, almost always, in almost every account. It is tempting to read that as "sending more works" and to send more.

It is not what the chart shows. People who receive more messages are more engaged to begin with - they are on more lists, in more journeys, and they trigger more automated sends by being active. So they both receive more and buy more, and the message count gets the credit for something that was already true about them.

Two things in Joryio keep the chart honest, and both are visible on the page itself.

1. It is split by prior engagement​

The curve is drawn separately for people who had engaged in the 90 days before the period and people who had not. Comparing like with like removes most of the effect above.

The prior window is strictly before the period being measured. Using opens and clicks from inside the period would be circular - those are caused by the very messages the chart is judging.

2. The zero point is real, or it is absent​

There is no "0 messages" row unless you run a global control group.

That is deliberate. Contacts who happened to receive nothing did not receive nothing at random: they unsubscribed, fell out of every segment, or went dormant - all of which also make them less likely to buy. Using them as the baseline would put the least trustworthy number on the chart at the exact point every other number is measured against, and it would look identical to the rest.

With a global control group running, the zero point is a randomly chosen group who received nothing, and the row is marked as held back at random. Only then is the left-hand end of the curve a measurement.

How to read it​

The bias only ever pushes the line upward. That asymmetry is the useful part:

  • A rising line proves nothing. It is exactly what the bias predicts, with or without a real effect.
  • A line that flattens or falls at higher frequencies is credible, because it appeared despite a bias working against it.

So the fatigue half of this chart is trustworthy long before the value half is. If conversion drops off above, say, six messages in a month for your engaged tier, that is worth acting on. If it climbs steadily, you have learned nothing about whether to send more.

Acting on it​

When a tier turns down at a certain frequency, the usual responses are:

  • A frequency cap for that audience
  • Wider gaps between journey sends
  • Fewer overlapping campaigns targeting the same segment

Check the quiet tier separately. It often turns down earlier than the engaged one, and it is the tier where over-sending turns into unsubscribes.

What the numbers mean​

ColumnMeaning
Messages receivedCampaign, journey and in-app messages in the period. A webhook step is not a message received - nothing reaches the contact - so it is left out
PeopleDistinct contacts in that bucket and tier, counted once each
Revenue per personTotal revenue in the bucket divided by everyone in it, buyers and non-buyers alike
Bought somethingShare of the bucket who placed at least one order. This is an orders figure, not a conversion: the chart covers the whole workspace, so there is no campaign or journey goal to count (see What counts as a conversion). The API returns it as buyers and purchaseRate

Order counts include every currency. The revenue column shows your dominant currency only, and says so when there is more than one - the alternative would be to invent an exchange rate.