{"componentChunkName":"component---src-templates-docs-js","path":"/guides/monitor-website-performance/user-journeys","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus"}},"mdx":{"fields":{"id":"09746c13-b9ed-53f4-acc2-2928dcf773d6","title":"User Journeys","slug":"/guides/monitor-website-performance/user-journeys","locale":"en-GB"},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"User Journeys\",\n  \"date\": \"2026-11-06\",\n  \"metaTitle\": \"Measure User Journeys in Page Speed Tests | LoadFocus\",\n  \"metaDescription\": \"Measure a login, search or checkout flow as a page speed user journey: step types, measured steps, secret values, the Test flow button and per-step results.\",\n  \"order\": 21\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"A user journey measures a flow of several steps instead of one page load. For example: open the login page, type the email and password, click Sign in, then measure the dashboard that loads. Each step you mark as measured gets its own Lighthouse result.\"), mdx(\"p\", null, \"Journeys are available on single URL tests. You add one in the new test dialog, see \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/guides/monitor-website-performance/how-to-run-new-website-performance-test\"\n  }, \"Create a new website performance test\"), \".\"), mdx(\"h2\", null, \"Add a journey\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"In the new test dialog, go to \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"User journey (optional)\"), \" and click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Add steps\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Set the first step to \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Go to URL\"), \" and enter the page where the flow starts. A journey always starts this way.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Add step\"), \" for each next action and pick its \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Step type\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Tick \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Measure\"), \" on each step you want results for.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Click \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Test flow\"), \" to check that the steps work, then save or run the test.\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Move up\"), \" and \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Move down\"), \" change the order of a step, \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Remove step\"), \" deletes it. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Remove journey\"), \" removes the whole journey from the test.\"), mdx(\"h2\", null, \"Step types\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Step type\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"What it does\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"What you fill in\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Go to URL\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Opens a page\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"The URL\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Click\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Clicks an element\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A CSS selector, for example \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"#email\"), \". Tick \", mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Loads a new page\"), \" if the click opens another page\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Type text\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Types into a field\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A CSS selector and the text to type\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Choose option\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Picks an option in a dropdown\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A CSS selector and the option value\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Wait for\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Waits before the next step\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A CSS selector to wait for, or a time in milliseconds such as 2000 (30000 at most)\")))), mdx(\"p\", null, \"A journey has at most 10 steps. Steps cannot contain a single quote (').\"), mdx(\"h2\", null, \"Measured steps\"), mdx(\"p\", null, \"Tick \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Measure\"), \" on the steps you care about. A \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Wait for\"), \" step cannot be measured. If you tick nothing, the first step is measured.\"), mdx(\"p\", null, \"Steps that load a page are measured as a page load, with the Performance score, LCP, TBT and CLS. Steps that interact with the page are measured as an interaction, with blocking time, layout shifts and responsiveness (TBT, CLS and INP).\"), mdx(\"p\", null, \"Each measured step uses one run of your plan. The line next to the buttons keeps count, for example \\\"Measured steps: 3. Each run of this test uses 3 of your plan's runs.\\\" A test with a journey runs once each time, so \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Runs per test\"), \" does not apply to it.\"), mdx(\"h2\", null, \"Secret steps\"), mdx(\"p\", null, \"For passwords and tokens, tick \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Secret\"), \" on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Type text\"), \" step. The field turns into a password field, and the value is stored encrypted and never shown again.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Use secrets only in password fields. Screenshots of the page are kept with each result, so a secret typed into a visible field could show up in them.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"When you edit the test, leave a saved secret empty to keep it. The field says \\\"Saved. Leave empty to keep it.\\\"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"If you change the steps of the journey, type the secret again. The saved value is only reused while the steps stay the same, so a changed journey cannot send it to another page. Changing only the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Measure\"), \" ticks is fine.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A copy of the test does not carry its secrets. Type them again in the copy.\")), mdx(\"h2\", null, \"Test flow\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Test flow\"), \" runs the steps once in a browser before you save. It skips the Lighthouse audit and does not use a run of your plan. It takes a minute or two.\"), mdx(\"p\", null, \"You then see \\\"All N steps ran.\\\" or \\\"The flow stopped before the end.\\\" with a screenshot of the page where it stopped, so you can fix the step at fault, usually a selector. If you click it many times in a row, wait a moment and try again.\"), mdx(\"h2\", null, \"Read the results\"), mdx(\"p\", null, \"A run with a journey shows a \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Journey steps\"), \" section on the result page, with one row per measured step: its type (\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Page load\"), \" or \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Interaction\"), \"), \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Performance\"), \", \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"LCP\"), \", \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"TBT\"), \", \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"CLS\"), \" and \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"INP\"), \". A step that failed shows \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Error\"), \". \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Open the full flow report\"), \" opens the complete Lighthouse user flow report.\"), mdx(\"h2\", null, \"Limits\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Up to 10 steps per journey, on single URL tests only.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Journeys cannot run from the \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Middle East (Bahrain)\"), \" or \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Middle East (UAE)\"), \" locations yet. Pick another location.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A test with a journey runs once per test run, with no repeat runs.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/monitor-website-performance/experiments\"\n  }, \"Experiments\"), \" do not support tests with a journey yet.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Test flow\"), \" only runs against public addresses, not private or internal ones.\")), mdx(\"h2\", null, \"Related Guides\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/monitor-website-performance/how-to-run-new-website-performance-test\"\n  }, \"Create a new website performance test\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/monitor-website-performance/reading-page-speed-results\"\n  }, \"Reading a page speed result\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/monitor-website-performance/http-authentication\"\n  }, \"HTTP authentication\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/docs/guides/monitor-website-performance/experiments\"\n  }, \"Experiments\"))));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#add-a-journey","title":"Add a journey"},{"url":"#step-types","title":"Step types"},{"url":"#measured-steps","title":"Measured steps"},{"url":"#secret-steps","title":"Secret steps"},{"url":"#test-flow","title":"Test flow"},{"url":"#read-the-results","title":"Read the results"},{"url":"#limits","title":"Limits"},{"url":"#related-guides","title":"Related Guides"}]},"frontmatter":{"metaTitle":"Measure User Journeys in Page Speed Tests | LoadFocus","metaDescription":"Measure a login, search or checkout flow as a page speed user journey: step types, measured steps, secret values, the Test flow button and per-step results.","order":21,"noindex":null,"date":"2026-11-06"}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/guides/onboarding","title":"LoadFocus Onboarding","locale":"en-GB"},"frontmatter":{"order":0}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/email","title":"Email Alerts","locale":"en-GB"},"frontmatter":{"order":0}}},{"node":{"fields":{"slug":"/guides/load-testing","title":"Load Testing","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/how-to-run-k6-load-test","title":"How to Run a New k6 Load Test","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/how-to-run-new-apache-jmeter-load-test","title":"How to Run a New Apache JMeter Load Test","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/api-monitoring/api-check-results","title":"Understanding API Check Results","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/getting-started","title":"Getting Started","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/load-testing/use-cases","title":"Use Cases","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/slack","title":"Slack Alerts","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/overview","title":"Integrating JMeter API Client with CI/CD Pipelines","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/friendly-check-name","title":"Friendly Check Name","locale":"en-GB"},"frontmatter":{"order":1}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing","title":"Load Testing with Apache JMeter","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/analyzing-k6-test-results","title":"Analyzing k6 Load Test Results","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Create New Website Performance Test","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/uploading-jmeter-files-step-by-step-guide","title":"Uploading JMeter Files to LoadFocus: A Step-by-Step Guide","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check","title":"How to Create a New API Check","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/load-testing/getting-started","title":"Getting Started","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/api-monitoring/synthetic-monitoring","title":"Synthetic Monitoring","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/azure-devops","title":"Azure DevOps","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/pagerduty","title":"PagerDuty Alerts","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-configuration","title":"Request Configuration","locale":"en-GB"},"frontmatter":{"order":2}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance","title":"Monitor Website Performance","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/import-to-k6-from-curl-har-postman-openapi","title":"Import cURL, HAR, Postman or OpenAPI to a k6 Test","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/import-to-jmeter-from-curl-har-postman-openapi","title":"Import cURL, HAR, Postman or OpenAPI to a JMeter Test","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-create-new-alert","title":"Create a New Alert","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/load-testing/demo","title":"Demo","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/reading-page-speed-results","title":"Reading a Page Speed Result","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/api-monitoring/uptime-monitoring","title":"Uptime Monitoring","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/api-monitoring/variables","title":"Variables","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/github-actions","title":"GitHub Actions","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/opsgenie","title":"Opsgenie Alerts","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-preview","title":"Request Preview","locale":"en-GB"},"frontmatter":{"order":3}}},{"node":{"fields":{"slug":"/guides/api-monitoring","title":"API Monitoring","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-configuration","title":"Alert Configuration","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/uploading-k6-scripts","title":"Uploading k6 Scripts and Data Files","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/using-multiple-csv-files-with-jmeter-engines","title":"Using Multiple CSV Files with JMeter Engines in LoadFocus","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/load-testing/how-to-run-new-load-test","title":"How to Run a New Load Test","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/api-monitoring/status-pages","title":"Create a Public Status Page for Your Monitors","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/discord","title":"Discord Alerts","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/frequency","title":"Frequency","locale":"en-GB"},"frontmatter":{"order":4}}},{"node":{"fields":{"slug":"/guides/external-reports","title":"External Reporting","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-metrics","title":"Alert Metrics","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-generators-hardware-infrastructure-jmeter","title":"What are the hardware resources allocated to my account for load generators?","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/api-monitoring/custom-domain-status-page","title":"How to Add a Custom Domain to Your Status Page","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/load-testing/create-load-test-with-ai","title":"Create a Load Test with AI","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/load-testing/http-methods-overview-load-testing","title":"HTTP Methods: An Overview","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/microsoft-teams","title":"Microsoft Teams Alerts","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/response-time-limits","title":"Response Time Limits","locale":"en-GB"},"frontmatter":{"order":5}}},{"node":{"fields":{"slug":"/guides/teams","title":"Teams Management","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Downloading .JMX and .CSV Files in LoadFocus","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-metrics","title":"What are the Core Web Vitals?","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/api-monitoring/multistep-api-checks","title":"Multistep API Checks","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/api-monitoring/status-page-api","title":"Status Page API, RSS Feeds and Status Badge","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/load-testing/start-time-in-load-testing","title":"Understanding the Significance of Start Time in Load Testing","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels/webhook","title":"Webhook Alerts","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/retries","title":"Retries Before Alerting","locale":"en-GB"},"frontmatter":{"order":6}}},{"node":{"fields":{"slug":"/guides/k6-load-testing","title":"k6 Load Testing","locale":"en-GB"},"frontmatter":{"order":7}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-anomalies","title":"Load Testing Anomalies","locale":"en-GB"},"frontmatter":{"order":7}}},{"node":{"fields":{"slug":"/guides/api-monitoring/heartbeat-monitors","title":"Heartbeat (Cron Job) Monitors","locale":"en-GB"},"frontmatter":{"order":7}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)","locale":"en-GB"},"frontmatter":{"order":7}}},{"node":{"fields":{"slug":"/guides/load-testing/geographical-test-location-in-load-testing","title":"Geographical Test Location in Load Testing","locale":"en-GB"},"frontmatter":{"order":7}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/assertions","title":"Assertions","locale":"en-GB"},"frontmatter":{"order":7}}},{"node":{"fields":{"slug":"/guides/mcp","title":"AI Assistants (MCP)","locale":"en-GB"},"frontmatter":{"order":8}}},{"node":{"fields":{"slug":"/guides/load-testing/crafting-perfect-test-names","title":"Crafting Perfect Test Names","locale":"en-GB"},"frontmatter":{"order":8}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Engine Health Monitoring","locale":"en-GB"},"frontmatter":{"order":8}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/http-authentication","title":"HTTP Authentication","locale":"en-GB"},"frontmatter":{"order":8}}},{"node":{"fields":{"slug":"/guides/api-monitoring/tcp-monitors","title":"TCP Port Monitors","locale":"en-GB"},"frontmatter":{"order":8}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/locations","title":"Locations","locale":"en-GB"},"frontmatter":{"order":8}}},{"node":{"fields":{"slug":"/guides/monitoring-as-code","title":"Monitoring as Code","locale":"en-GB"},"frontmatter":{"order":9}}},{"node":{"fields":{"slug":"/guides/api-monitoring/check-groups","title":"Check Groups","locale":"en-GB"},"frontmatter":{"order":9}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Timeline View","locale":"en-GB"},"frontmatter":{"order":9}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/sitemap-import","title":"Sitemap Import","locale":"en-GB"},"frontmatter":{"order":9}}},{"node":{"fields":{"slug":"/guides/load-testing/scheduled-load-tests","title":"Scheduled Load Tests","locale":"en-GB"},"frontmatter":{"order":9}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/alert-channels","title":"Alert Channels","locale":"en-GB"},"frontmatter":{"order":9}}},{"node":{"fields":{"slug":"/guides/openapi-import","title":"Import from OpenAPI / Swagger","locale":"en-GB"},"frontmatter":{"order":10}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-insights","title":"Load Testing Insights","locale":"en-GB"},"frontmatter":{"order":10}}},{"node":{"fields":{"slug":"/guides/api-monitoring/maintenance-windows","title":"Maintenance Windows","locale":"en-GB"},"frontmatter":{"order":10}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/lighthouse-opportunities","title":"Lighthouse Opportunities","locale":"en-GB"},"frontmatter":{"order":10}}},{"node":{"fields":{"slug":"/guides/load-testing/using-cookies","title":"Using Cookies","locale":"en-GB"},"frontmatter":{"order":10}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/activate-deactivate","title":"Activate/Deactivate","locale":"en-GB"},"frontmatter":{"order":10}}},{"node":{"fields":{"slug":"/guides/setup-teardown-scripts","title":"Setup and teardown scripts","locale":"en-GB"},"frontmatter":{"order":11}}},{"node":{"fields":{"slug":"/guides/api-monitoring/dashboards","title":"Dashboards","locale":"en-GB"},"frontmatter":{"order":11}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-error-analysis","title":"Error Analysis","locale":"en-GB"},"frontmatter":{"order":11}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/performance-budgets","title":"Performance Budgets & Alerts","locale":"en-GB"},"frontmatter":{"order":11}}},{"node":{"fields":{"slug":"/guides/load-testing/headers-and-manage-presets","title":"Headers and Header Presets","locale":"en-GB"},"frontmatter":{"order":11}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/mute-unmute","title":"Mute/Unmute","locale":"en-GB"},"frontmatter":{"order":11}}},{"node":{"fields":{"slug":"/guides/reusable-snippets","title":"Reusable snippets","locale":"en-GB"},"frontmatter":{"order":12}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels","title":"Alert Channels","locale":"en-GB"},"frontmatter":{"order":12}}},{"node":{"fields":{"slug":"/guides/load-testing/analyzing-load-test-results","title":"How to Check Load Test Results","locale":"en-GB"},"frontmatter":{"order":12}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Core Web Vitals Competitor Comparison","locale":"en-GB"},"frontmatter":{"order":12}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Logs & JTL File Analysis","locale":"en-GB"},"frontmatter":{"order":12}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/save-run","title":"Save and Run","locale":"en-GB"},"frontmatter":{"order":12}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"JMeter Log File Analysis","locale":"en-GB"},"frontmatter":{"order":13}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/real-user-field-data","title":"Real-User Field Data (CrUX)","locale":"en-GB"},"frontmatter":{"order":13}}},{"node":{"fields":{"slug":"/guides/api-monitoring/snippets","title":"Snippets","locale":"en-GB"},"frontmatter":{"order":13}}},{"node":{"fields":{"slug":"/guides/load-testing/group-filter-load-test-results-by-url","title":"Group and Filter Load Test Results by URL","locale":"en-GB"},"frontmatter":{"order":13}}},{"node":{"fields":{"slug":"/guides/load-testing/load-generators-hardware-infrastructure","title":"What are the hardware resources allocated to my account for load generators?","locale":"en-GB"},"frontmatter":{"order":13}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/webhook-channels","title":"Webhook Channel","locale":"en-GB"},"frontmatter":{"order":13}}},{"node":{"fields":{"slug":"/guides/load-testing/baseline-comparison-between-load-tests","title":"Baseline Comparison Between Load Tests","locale":"en-GB"},"frontmatter":{"order":14}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Run JMeter Tests with the LoadFocus API Client","locale":"en-GB"},"frontmatter":{"order":14}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/pdf-report-branding","title":"Branded PDF Reports","locale":"en-GB"},"frontmatter":{"order":14}}},{"node":{"fields":{"slug":"/guides/api-monitoring/sla-slo-reports","title":"SLA & SLO Uptime Reports","locale":"en-GB"},"frontmatter":{"order":14}}},{"node":{"fields":{"slug":"/guides/load-testing/common-http-error-codes","title":"Common HTTP Error status codes","locale":"en-GB"},"frontmatter":{"order":15}}},{"node":{"fields":{"slug":"/guides/api-monitoring/dns-monitors","title":"DNS Monitors","locale":"en-GB"},"frontmatter":{"order":15}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/visual-regression-testing","title":"Visual Regression Testing","locale":"en-GB"},"frontmatter":{"order":15}}},{"node":{"fields":{"slug":"/guides/api-monitoring/browser-checks","title":"Browser Checks","locale":"en-GB"},"frontmatter":{"order":16}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/ci-build-gating","title":"CI Build Gating & Deploy Markers","locale":"en-GB"},"frontmatter":{"order":16}}},{"node":{"fields":{"slug":"/guides/load-testing/decoding-average-response-times","title":"Decoding Average Response Time","locale":"en-GB"},"frontmatter":{"order":16}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/experiments","title":"Page Speed Experiments","locale":"en-GB"},"frontmatter":{"order":17}}},{"node":{"fields":{"slug":"/guides/load-testing/deep-dive-samples-in-load-testing","title":"What are Samples in Load Testing?","locale":"en-GB"},"frontmatter":{"order":17}}},{"node":{"fields":{"slug":"/guides/api-monitoring/ssl-certificate-monitoring","title":"SSL Certificate Monitoring","locale":"en-GB"},"frontmatter":{"order":17}}},{"node":{"fields":{"slug":"/guides/api-monitoring/check-retries-and-alert-thresholds","title":"Check Retries and Alert Thresholds","locale":"en-GB"},"frontmatter":{"order":18}}},{"node":{"fields":{"slug":"/guides/load-testing/end-time-in-load-testing","title":"Understanding the Significance of 'End Time' in Load Testing","locale":"en-GB"},"frontmatter":{"order":18}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/real-user-monitoring","title":"Real User Monitoring (RUM)","locale":"en-GB"},"frontmatter":{"order":18}}},{"node":{"fields":{"slug":"/guides/api-monitoring/incident-management","title":"Incident Management","locale":"en-GB"},"frontmatter":{"order":19}}},{"node":{"fields":{"slug":"/guides/load-testing/erros-and-reponse-codes","title":"Errors and Response Codes","locale":"en-GB"},"frontmatter":{"order":19}}},{"node":{"fields":{"slug":"/guides/api-monitoring/recent-failures","title":"Recent Failures","locale":"en-GB"},"frontmatter":{"order":20}}},{"node":{"fields":{"slug":"/guides/load-testing/granularity-in-load-test-results-and-charts","title":"Granularity in Load Test Results and Chart Display","locale":"en-GB"},"frontmatter":{"order":20}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/weekly-report-email","title":"Weekly Report Email & Notifications","locale":"en-GB"},"frontmatter":{"order":20}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/user-journeys","title":"User Journeys","locale":"en-GB"},"frontmatter":{"order":21}}},{"node":{"fields":{"slug":"/guides/load-testing/how-to-url-query-parameters","title":"Query Parameters","locale":"en-GB"},"frontmatter":{"order":21}}},{"node":{"fields":{"slug":"/guides/load-testing/authorization-code-grant-type-oauth-2-0","title":"Authorization Code Grant Type in OAuth 2.0","locale":"en-GB"},"frontmatter":{"order":22}}},{"node":{"fields":{"slug":"/guides/load-testing/client-credentials-grant-type-oauth-2-0","title":"Client Credentials Grant Type in OAuth 2.0","locale":"en-GB"},"frontmatter":{"order":23}}},{"node":{"fields":{"slug":"/guides/load-testing/implicit-grant-type-oauth-2-0","title":"Implicit Grant Type in OAuth 2.0","locale":"en-GB"},"frontmatter":{"order":24}}},{"node":{"fields":{"slug":"/guides/load-testing/password-credentials-grant-type-oauth-2-0","title":"Password Credentials Grant Type in OAuth 2.0","locale":"en-GB"},"frontmatter":{"order":25}}},{"node":{"fields":{"slug":"/guides/load-testing/refresh-token-grant-type-oauth-2-0","title":"Refresh Token Grant Type in OAuth 2.0","locale":"en-GB"},"frontmatter":{"order":26}}},{"node":{"fields":{"slug":"/guides/load-testing/what-are-iterations-load-testing","title":"What Are Iterations in Load Testing?","locale":"en-GB"},"frontmatter":{"order":27}}},{"node":{"fields":{"slug":"/guides/load-testing/what-are-virtual-users-load-testing","title":"What are Virtual Users in Load Testing","locale":"en-GB"},"frontmatter":{"order":28}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-delay-when-running-a-load-test","title":"What is Delay when running a Load Test?","locale":"en-GB"},"frontmatter":{"order":29}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-duration-in-load-testing","title":"What is Duration in Load Testing","locale":"en-GB"},"frontmatter":{"order":30}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-grant-type","title":"What is a Grant Type?","locale":"en-GB"},"frontmatter":{"order":31}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-oauth-2-0-authorization","title":"OAuth 2.0 Authorization","locale":"en-GB"},"frontmatter":{"order":32}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-ramp-up-steps-in-load-testing","title":"What is Ramp Up Steps in Load Testing","locale":"en-GB"},"frontmatter":{"order":33}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-ramp-up-time-in-load-testing","title":"What is Ramp Up Time in Load Testing","locale":"en-GB"},"frontmatter":{"order":34}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-test-run-id","title":"What is a Test Run Id?","locale":"en-GB"},"frontmatter":{"order":35}}},{"node":{"fields":{"slug":"/guides/load-testing/white-label-report-branding","title":"Branded PDF Reports","locale":"en-GB"},"frontmatter":{"order":36}}},{"node":{"fields":{"slug":"/guides/load-testing/pass-fail-thresholds","title":"Pass/Fail Thresholds","locale":"en-GB"},"frontmatter":{"order":37}}},{"node":{"fields":{"slug":"/guides/load-testing/load-test-results-api","title":"Results Analysis API","locale":"en-GB"},"frontmatter":{"order":38}}},{"node":{"fields":{"slug":"/guides/load-testing/performance-trend-load-test-results","title":"Performance Trend","locale":"en-GB"},"frontmatter":{"order":38}}},{"node":{"fields":{"slug":"/guides/load-testing/page-speed-under-load","title":"Page Speed Under Load","locale":"en-GB"},"frontmatter":{"order":39}}},{"node":{"fields":{"slug":"/guides/load-testing/page-speed-under-load-trends","title":"Page Speed Under Load Trends","locale":"en-GB"},"frontmatter":{"order":40}}},{"node":{"fields":{"slug":"/guides/load-testing/load-test-result-ai-analysis","title":"Load Testing Results AI Analysis","locale":"en-GB"},"frontmatter":{"order":41}}},{"node":{"fields":{"slug":"/guides/load-testing/ai-credits","title":"AI Credits","locale":"en-GB"},"frontmatter":{"order":42}}},{"node":{"fields":{"slug":"/guides/load-testing/share-load-test-reports","title":"Share Load Test Reports","locale":"en-GB"},"frontmatter":{"order":43}}},{"node":{"fields":{"slug":"/guides/load-testing/release-tags-and-run-annotations","title":"Release Tags and Run Annotations","locale":"en-GB"},"frontmatter":{"order":44}}},{"node":{"fields":{"slug":"/guides/load-testing/adding-notes-to-results","title":"Adding Notes to Test Results","locale":"en-GB"},"frontmatter":{"order":45}}},{"node":{"fields":{"slug":"/guides/load-testing/reading-the-capacity-panel","title":"Reading the Capacity Panel","locale":"en-GB"},"frontmatter":{"order":46}}},{"node":{"fields":{"slug":"/guides/load-testing/response-time-distribution","title":"Response Time Distribution","locale":"en-GB"},"frontmatter":{"order":61}}},{"node":{"fields":{"slug":"/guides/load-testing/response-time-vs-virtual-users","title":"Response Time vs. Virtual Users","locale":"en-GB"},"frontmatter":{"order":62}}},{"node":{"fields":{"slug":"/guides/load-testing/errors-by-type","title":"Errors by Type and Error Rate","locale":"en-GB"},"frontmatter":{"order":63}}},{"node":{"fields":{"slug":"/guides/load-testing/results-by-location","title":"Results by Location","locale":"en-GB"},"frontmatter":{"order":64}}},{"node":{"fields":{"slug":"/guides/load-testing/slowest-and-most-failing-requests","title":"Slowest and Most Failing Requests","locale":"en-GB"},"frontmatter":{"order":65}}},{"node":{"fields":{"slug":"/guides/load-testing/load-generator-saturation","title":"Load Generator Saturation","locale":"en-GB"},"frontmatter":{"order":66}}},{"node":{"fields":{"slug":"/","title":"Welcome to the LoadFocus Documentation","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/guides","title":"How-To Guides","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base","title":"Knowledge Base","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/pricing","title":"Pricing FAQs","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/how-to-delete-your-account","title":"How to Delete Your Account","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/how-to-update-card-details","title":"How to Update Card Details for Failed Payments","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-declined-card-payments","title":"Why has my card payment been declined?","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-differences-between-http-and-https","title":"Differences between HTTP and HTTPS","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/using-google-analytics-and-no-requests-while-load-testing","title":"No traffic in Google Analytics while load testing","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/what-is-an-http-method","title":"What is an HTTP request method","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/using-valid-url-endpoints","title":"What is a Valid URL for a Load Test","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/using-query-parameters","title":"How to Use URL Query Parameters","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/knowledge-base/using-3rd-party-tools-to-load-test-website-locally","title":"How to Load Test a Locally Hosted Website or API","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/guides/external-reports/azure-app-insights-integration","title":"Azure App Insights Integration","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/guides/external-reports/datadog-integration","title":"Datadog Integration","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/guides/external-reports/dynatrace-integration","title":"Dynatrace Integration","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/guides/external-reports/new-relic-integration","title":"New Relic Integration","locale":"en-GB"},"frontmatter":{"order":null}}},{"node":{"fields":{"slug":"/guides/external-reports/opentelemetry-integration","title":"OpenTelemetry (OTLP) Integration","locale":"en-GB"},"frontmatter":{"order":null}}}]}},"pageContext":{"id":"09746c13-b9ed-53f4-acc2-2928dcf773d6","locale":"en-GB"}},"staticQueryHashes":["2563770435","2563770435"]}