Synthetic journeys
A synthetic journey is a scripted user flow — visit a URL, click an element, fill a form, submit it, expect specific dataLayer events to fire. TagEasy runs it in a headless Chrome browser on demand and tells you which events fired (and which didn't).
Where passive observation (the Live Feed, the tracking-plan drift scan) catches issues after a real visitor hits them, synthetic journeys catch them before the visitor does — ideally as part of a deploy checklist or a nightly run.
Step kinds (v1)
- Visit — load a URL.
- Click — click an element by CSS selector.
- Fill — type text into an input.
- Submit — click/press-enter on a form or button.
- Wait — pause for N milliseconds (max 30 s).
- Expect dataLayer event — assert that a specific event fired by the time this step runs, optionally with a subset of expected payload fields.
A typical e-commerce journey
1. Visit https://your-store.com/
2. Click a[href^="/products/"]
3. Click button.add-to-cart
4. Expect dataLayer event "add_to_cart" with { currency: "USD" }
5. Visit https://your-store.com/checkout
6. Fill input[name="email"] = "test@example.com"
7. Submit button[type="submit"]
8. Expect dataLayer event "purchase"How TagEasy captures events
The runner injects an observer at document-start on every page in the journey. It hooks window.dataLayer.push, records every event that fires, and stamps it with the step index that was active at the time. expectEvent assertions check the capture buffer, so an event has to have fired by (or during) the assertion step to count.
Run limits + scheduling
- Step timeouts — each step has its own 10-second cap. A click that can't find its selector within 10s fails the step and stops the journey.
- Total budget — the runner aims for under 90s of wall time per journey. Function-level cap is 300s.
- Rate limit — 10 runs per minute per org (each run spins up a real browser).
- Scheduled runs — manual-only in v1. Cron-driven scheduling is on the v1.1 roadmap.
Plan
Synthetic journeys are a Business-tier feature. See pricing or, for the broader monitoring + tracking-plan picture, tracking plan and tag inventory.