How a journey check works
A ping tells you a server answered. A journey check tells you a customer could have done the thing they came to do. The second is much more useful and much more dangerous, because it involves actually doing things on your production system every minute forever.
Key takeaways
- A journey check performs a real sequence and asserts on content, not just status codes.
- Four journeys is usually enough: home, search, log in, and reach checkout.
- A check account is a real account, marked as one, excluded from analytics and reporting.
- The check never completes a purchase, sends a message or writes customer data.
- Timing is recorded but a slow journey is not a down journey.
What a check asserts
journey checkout
steps GET / 200, contains ’Add to basket’
POST /basket/add 302 or 200
GET /basket 200, contains the item name
GET /checkout 200, contains ’Payment’
stop before submitting payment — always
assert content, not just status
timeout 8s per step, 30s total
record per-step timing, every run
The content assertions are what make this different from a ping. A checkout page that returns 200 and renders an error message is broken, and only a content assertion sees that. Asserting on a specific string is brittle in a useful way: when somebody changes the wording, the check fails, somebody updates it, and the check stays honest.
The four journeys
- Machine learning
- Security & identity
- Analytics
- Front-end & mobile
The value is in the coverage rather than the count. Home loading proves the web tier and the CDN. Search proves the database is answering. Login proves authentication and sessions. Checkout proves the payment integration is reachable. A failure in any one of them points at a different part of the system, which is most of the diagnostic value.
Rules that stop a check causing damage
What a check must never do
- Never complete a purchase. It stops at the payment step. A check that completes an order every minute creates 1,440 orders a day and a genuinely awkward conversation with accounts.
- Never send a message. No password resets, no contact form submissions, no SMS. Every one of those reaches a real system with a real cost.
- Never write customer data. The check account’s basket is emptied at the start of each run rather than the end, so a failed run does not leave state behind.
- Never be counted. The check account is flagged, its user agent is identifiable, and analytics, revenue reporting and recommendation systems all exclude it.
- Never hold a lock. If the checkout reserves stock, the check uses an item with a stock level that is deliberately enormous.
The analytics exclusion is the one most often forgotten and it distorts more than people expect. Twelve runs a minute is seventeen thousand sessions a day, and a small business’s traffic figures, conversion rate and most-viewed-product report are all meaningfully wrong if those are included.
Slow is not down
- App integration
- Security & identity
- Management
- Analytics
A journey that succeeds in three seconds when it usually takes eight hundred milliseconds is not down and is not fine. That state is degraded, it appears on the status page in its own colour, and it is reported separately — because “the site is slow” is the most common customer complaint and a status page that says everything is operational during it is actively unhelpful.
Next: how three regional opinions become one decision.
All posts