What behavioral data found on the revenue path, priced against InMotion's own September figures. Each item is tagged by how much of it is measured and how much still needs validation.
September pacing below the 2026 average. Dedicated Servers is $29.6K of it.
Per month, from 303 customers whose renewal requests fail. Range, not estimate — one event setting closes it.
Tested and not detectable. Finding that out quickly is the capability, not the error count.
InMotion's September new-hosting report — 16 days actual, pacing to month end. Every figure below is judged in proportion to these.
New hosting revenue across all five product lines.
The baseline September is measured against.
Tracking 15% below. Dedicated alone is $29.6K of the gap.
373 orders, 1–16 Sept. 73% carry an add-on; those average $319.
Exposure is what the finding could be worth if it behaves as feared. The tag says how much of that is measured. Open any row for the evidence on both sides.
/amp-js/billing/confirm-renewal has returned errors every day for two months — roughly 22 a day, without a single clean day. These are existing customers trying to pay. The range reflects what they were renewing: $35.88 is the median renewal price across all subscriptions, $227.88 the median for hosting. We cannot narrow it because no renewal value reaches Fullstory.
Dedicated is September's largest revenue gap and 87% of the total variance. It is also the second-most-refreshed page on the marketing site, with 80 refreshes and 28 abandoned forms in 30 days. The shortfall is measured; the link to the page friction is not. This is the kind of question the data lets you ask in minutes rather than quarters.
105 customers hit an HTTP 500 from api/order/save in four days, after zero occurrences going back to 1 March. At $264 an order that is $27.7K of exposure — but the exposure did not convert into loss. Affected customers clicked Submit Order at 15.2% against a site-wide 15.9%, and daily revenue rose after the 14th. Worth fixing as a bug, not escalating as an incident.
Email and Titan products check out through a modal posting to /amp-js/vue-marketplace/purchase, failing daily since 22 July and spiking to 69 failures on 17 September. Email products booked only $683 in 17 days, so the direct cash at stake is small — the cost is that the modal does not appear in session replay at all. At the moment a customer clicks Confirm Purchase, the recording shows the page behind it. The highest-frequency checkout surface in AMP cannot be diagnosed.
If the 14 September errors were blocking purchases at scale, daily revenue would step down after the dashed line. It does not.
All product lines combined · dashed line marks error onset
Everything above came from page and element instrumentation alone. These four gaps are what stand between a model and a measurement. None is a large piece of work.
No order value flows into Fullstory, so friction cannot be priced directly. Every dollar figure here is inferred from your own revenue reporting instead.
No custom or defined events exist at all. But /amp/marketplace/confirmation/ and /amp/checkout#purchase-success are real confirmation routes already being recorded — both could be defined as conversion events today, with no engineering work.
Only plan_names is captured. Without plan tier or account age, friction can't be weighted by customer value.
central to secure1 breaks session continuity at exactly the moment money changes hands.
The top of the revenue path. Friction here is quieter than in a cart — nothing errors loudly, people simply leave. These are the signals that mean something appeared broken, rather than merely uninteresting.
Last 30 days, unique customers. Page refreshes and abandoned forms are the two signals that most reliably mean "this looked stuck." No cash figure is attached here: marketing-site friction costs a visit, not an order, and pricing it would be a guess.
| Signal | Where | Customers |
|---|---|---|
| Page refreshed by the customer The universal tell that a page appeared stuck or failed to load properly. | Home Page | 335 |
| Page refreshed by the customer On the product line with September's largest revenue shortfall. | Dedicated Servers | 80 |
| Error clicks on the AMP Login button In the main site header, so it appears on every page. Existing customers failing to reach their account. | Site header | 74 |
| Error clicks on the HubSpot form submit Lead capture form erroring on submit — direct pipeline impact. | Sales enquiry form | 30 |
| Form abandoned before submitting Details entered, then left without completing. | Dedicated Servers | 28 |
| Page refreshed by the customer | Bare Metal Servers | 27 |
| Page refreshed by the customer | Shared Hosting | 23 |
| Form abandoned before submitting | Bare Metal Servers | 17 |
The saved funnel built during the trial. Read the first step carefully.
Last 30 days · unique users
Pacing to month end vs 2026 monthly average
The front-of-site cart on central.inmotionhosting.com, where new hosting is sold. September's $192K of new revenue flows through this surface — and it carries both the most instrumentation and the most consequential blind spot.
Last 30 days, unique users, entering the cart from any source.
Cart entry through to order submission
Last 30 days · zero before 14 September
If the 500 were preventing orders, customers who hit it would submit at a lower rate than everyone else. They do not.
Share of cart visitors reaching the Submit Order click
Santa Ana, CA · desktop · 17 September
/amp/checkout#purchase-success is the order-confirmation route for this cart, which makes completed orders countable for the first time. The September order-tracking export now settles what those orders are worth — and how many of them Fullstory sees.
373 orders, $98,568 collected. Median order $109.
213 orders. First purchase on the account.
160 orders. 74% higher than a new customer.
332 of 373 orders recorded. Not half.
A decline is normal business. Being told nothing about it is a recoverable loss — and 56% of what this checkout says is exactly that.
Per 10 customers recovered, at $264 an order. 268 were told nothing actionable.
Generic "could not process", no cause given. 268 of 478 customers.
787 occurrences. Expected business, not a fault.
Only 45 of 1,994 told the customer what to fix.
All 41 strings merged across languages, so each underlying failure counts once.
| Failure | What the customer is told | Occurrences | Share |
|---|---|---|---|
| Generic system failure Order API returned an error — seen alongside 403 and 500 responses. | "We could not process your order." — and its Spanish, French, German, Turkish, Portuguese and Chinese equivalents. | 1,109 | 55.6% |
| Bank decline, no reason given Issuer refused, but the reason was not surfaced. | "Order Declined by Bank" / "Orden rechazada por el banco" / "Ordonnance refusée par la banque" / "Auftrag von Bank abgelehnt" / "银行拒绝该笔交易" | 787 | 39.5% |
| Specific card decline The only messages a customer can act on. | Insufficient Funds (12), Issuer Generated Error (6), Invalid Transaction (5), Expired Card (3), Restricted Card (3), Account Closed (3), Lost/Stolen Card (2), and 8 more. | 45 | 2.3% |
| Fraud / risk filter block Worth watching — legitimate customers can be caught by threshold rules. | "Advanced Fraud Filter Score Below Threshold" (26), "Suspected Fraud" (11), plus the Spanish variant (1). | 38 | 1.9% |
| Error card with no message at all The card renders with just the word ERROR and nothing after it. | "ERROR:" (7) and "ERREUR :" (1) | 8 | 0.4% |
| PayPal transaction failed | "PayPal Transaction failed." | 6 | 0.3% |
| Duplicate purchase guard Fired once — a customer who submitted twice. | "A purchase is already in progress or has been completed for this order." | 1 | 0.1% |
| Language | Occurrences | Share |
|---|---|---|
| English | 1,880 | 94.3% |
| Spanish | 62 | 3.1% |
| French | 21 | 1.1% |
| Mixed — localised label, untranslated message | 16 | 0.8% |
| No message at all | 8 | 0.4% |
| German | 4 | 0.2% |
| Turkish | 2 | 0.1% |
| Chinese | 1 | 0.1% |
Last 7 days, against roughly 1,390 customers who reached checkout. Ranked by customers affected, not event volume.
| Signal | Type | Customers | Share |
|---|
Where customers manage accounts, renew, change plans and buy add-ons. No new hosting is sold here, so order values are much lower — but this is where retention revenue lives, which makes it a revenue surface even though it is budgeted as a support cost.
Last 30 days, unique customers. Every row is someone attempting a transaction that did not complete cleanly.
| What the customer was trying to do | Signal | Customers |
|---|---|---|
| Renew their subscription confirm-renewal endpoint erroring every day since 21 July | Network error | 303 |
| Update a payment method Form abandoned on Manage Payment Methods | Form abandon | 226 |
| Save a new credit card save-credit-card endpoint returning errors | Network error | 94 |
| Renew from the cancellation screen Create-invoice link erroring inside the retention modal — the worst possible place for a failure | Error click | 59 |
| Complete an order renewal Form abandoned on the Order Renew page | Form abandon | 43 |
| Change their hosting plan change-plan/process endpoint returning errors — this is upsell revenue | Network error | 40 |
| Change their plan (form) Form abandoned on AMP Change Plan | Form abandon | 28 |
| Toggle auto-renew Error clicks on the auto-renew control — the most churn-relevant switch in the product | Error click | 27 |
| General navigation Dead clicks across AMP main content — the UX debt already identified in the trial | Dead click | 580 |
The clearest argument for behavioral monitoring on this page. Failing every day for two months, and no alert fired — because the servers were up the whole time.
Since first occurrence on 21 July 2026
Add-on purchases by existing customers. Order values are materially lower here, since no hosting is sold on this surface.
Last 30 days · unique users
Unique customers reaching the AMP order-completed page, 30 days
Measured, not assumed. Fullstory carries no revenue event, so these figures were read directly off the order-confirmation screen in 14 sampled sessions, drawn from the 102 confirmed Marketplace orders in the last four weeks. Every sampled order is itemised below and traceable to its confirmation ID. The September order export has since confirmed the figure independently: of 357 add-on-only carts, the 243 under $50 average $16.38 and the full set has a median of $23.20.
Corroborated twice: $22.84 from replay, $23.20 median from the order export.
Median $21.31. Range $5.82–$41.99. Blended with free orders: $11.42.
7 of 14 sampled orders totalled $0.00.
102 orders × $11.42. That is 0.6% of September new hosting revenue.
| Order | What was bought | Total |
|---|---|---|
| 92384 | Domain Name Transfer + Domain Privacy | $41.99 |
| 92403 | Domain Name Transfer + Domain Privacy + tax | $40.74 |
| 92410 | Domain Name Transfer | $23.00 |
| 92407 | Monarx Security, 1 month + tax | $21.31 |
| 92414 | Domain Privacy | $15.99 |
| 92397 | Softaculous, prorated | $11.01 |
| 92406 | Snapshot Storage Container, prorated | $5.82 |
| 92413 | Dedicated IP × 3 — free on credit | $0.00 |
| 92401 | Dedicated IP — free | $0.00 |
| 92393 | Dedicated IP — free | $0.00 |
| 92391 | Dedicated IP, 3 year term — free | $0.00 |
| 92368 | Dedicated IP — free | $0.00 |
| 92392 | Domain Name Transfer — free | $0.00 |
| 92217 | Domain Name Transfer — free | $0.00 |
Every number on this dashboard traces to an object you can open, inspect and disagree with. Two kinds below — the difference matters.
Permanent objects in InMotion's Fullstory library. These links open the saved definition and its current numbers.
| Type | Object | ID | What it backs |
|---|---|---|---|
| Funnel | [OP] Checkout Success Funnel | zAtVm0fv9zyz | Cart entry → Submit Order → purchase-success. Source of the 15.9% site-wide submit rate. |
| Metric | [OP] Central OP Successful Orders | f33mQwAjCuAA | Front-of-site completed orders. The denominator behind the capture-rate figure. |
| Metric | [OP] Cart Error Card Display | 1ujfK5v1ze1L | Times the checkout error card was shown. The 1,994 occurrences. |
| Metric | [OP] Submit Order Error Clicks | t49yJCBqEyUb | Submit Order clicks that errored instead of progressing. |
| Metric | [OP] Order Purchase API Failure | q8d99yJ2onZN | status 0 Unknown Error on the purchase API. |
| Metric | [OP] Checkout Order Completion VPS Errors | c4HRhAhQ1iqD | Error card shown where the cart contains VPS. |
| Metric | HTTP 402 Payment Required for Marketplace Purchase | TsGTgI4pTfJj | The email/Titan modal failure. Backs the replay blind-spot row. |
| Metric | [AMP] AJAX Request Errors on Checkout | oevGPyUu5zyt | Network errors on the AMP cart checkout endpoint. |
| Metric | [AMP] Oops… there was an error with your request | CBaR0meL5nVM | The generic AMP error banner, by occurrence. |
| Funnel | [AMP] Change Plan Flow | ArZwvpNXNl7t | Change Plan → cart → order completed, inside AMP. |
Created through the MCP connector while this dashboard was being assembled. These open in the builder with the definition pre-filled — press Save in Fullstory to add any of them to the org's library permanently. Counts are as measured on 18 September.
| Type | Object | ID | What it backs |
|---|---|---|---|
| Segment | AMP renewal failures | m1AL2HM5JhND | 293 users / 345 sessions. Backs the $11K–$69K exposure row. |
| Segment | Checkout order-save 500 — customers affected | zoIA6RaR6P05 | 132 users / 155 sessions. Backs the $27.7K exposure row. |
| Segment | Checkout error card shown | NCEgEQorg25Y | 274 users / 376 sessions. Backs the $2.6K-per-10-recovered row. |
| Segment | Email/Titan modal purchase failures | mKfjFy3dWzM9 | 82 users / 111 sessions. Backs the blind-spot row. |
| Segment | Dedicated Servers pages — refreshes | Kd9N4pT2lTax | 222 users / 259 sessions. Broader than the 80 figure — includes landing pages. |
| Metric | Checkout error messages by text | 430570123 | All 41 distinct strings, grouped by text. Source of the consolidated and localisation tables. |