Skip to main content
Card class: Cross-ChannelCategory: Payment Gateway

At a glance

An estimate of revenue lost to 3D Secure (SCA) friction over the last 30 days. Specifically: charges that were sent through 3DS, the customer abandoned the challenge, and the customer did not retry. Most material for UK and EU stores subject to PSD2 / SCA mandates.
What it countsCOUNT(charges WHERE three_d_secure.result IN {failed, processor_declined} AND status IN {failed, requires_action, canceled}) × commerce_sibling.aov × abandon_to_lost_sale_correlation_pct. The correlation factor (typically 60, 75%) discounts the gross 3DS-abandon count to reflect customers who would have completed but didn’t because of the friction.
API resource & fieldsGET /v1/charges, fields payment_method_details.card.three_d_secure.result, status, amount, currency.
CurrencyThe commerce sibling’s primary store currency. Charges in non-primary currencies are FX-converted at the day’s mid-market rate.
Fees / processing costNOT deducted. The card answers “how much top-line revenue is being lost”, not net.
RefundsNOT a factor. The lost charges never succeeded so could not be refunded.
Disputes / chargebacksNOT a factor. 3DS-authenticated charges have a lower dispute rate (issuer takes liability), but disputes happen on succeeded charges.
Failed / declined paymentsThis is the metric source. Specifically, the 3DS-failed and SCA-abandoned subset (status ∈ {failed, requires_action, canceled} AND 3DS attempted).
3DS handlingReads three_d_secure.result. Values authenticated are excluded (success); failed, processor_declined, and missing-when-attempted contribute.
SCA-required-abandonedINCLUDED in the numerator. status = requires_action charges where the customer never came back form most of the loss for UK and EU stores.
Page cap1,000 charges per refresh. High-volume merchants see the trailing edge of the 30-day window dropped.
Time window30D (rolling)
Alert trigger> $1k/month, calibrated low because 3DS friction loss is usually fixable with frictionless-3DS optimisation, exemptions, and improved challenge UX
Rolesowner, finance, marketing

Calculation

Calculated automatically from your Stripe data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A UK fashion DTC store on Shopify + Stripe, mostly UK and EU traffic. The 30-day window covers 13 Mar 26 to 12 Apr 26 (980 charges within the cap).
three_d_secure.result (when 3DS attempted)statusCountSum (£)Notes
authenticatedsucceeded612£58,1403DS worked; not in scope
failedfailed18£1,710Customer entered wrong code or wrong device
processor_declinedfailed6£570Issuer rejected the auth request
failed then abandonedrequires_action41£3,895The big bucket: SCA challenge sent, customer never returned
not_supportedsucceeded (no challenge)178£16,910Older cards, no 3DS attempt; not in scope
Total 3DS-friction charges       = 18 + 6 + 41 = 65
Total gross loss                 = £1,710 + £570 + £3,895 = £6,175
Abandon-to-lost-sale correlation = 65% (Vortex IQ default for UK fashion)
3DS Friction Revenue Loss        = £6,175 × 0.65 = £4,014 / month
What the card displayed: £4,014 / month, well above the £1k alert threshold. Action required. Three observations:
  1. The SCA-abandoned bucket (requires_action) is the dominant loss. £3,895 of the £6,175 gross sits there: customers got the SCA challenge SMS, didn’t open it, and never came back. This is the friction the card was built to surface; it’s largely invisible on Stripe-only dashboards because requires_action charges sit between “succeeded” and “failed” filters.
  2. The 35% discount factor is meant to be honest. Of those 65 customers, some would have abandoned for non-3DS reasons (changed mind, found cheaper alternative, hit a shipping issue). The 65% correlation factor reflects the share that would have completed if the SCA step weren’t there. UK fashion has a higher correlation factor than UK electronics (more impulse-driven purchases, larger SCA dropoff).
  3. The fix is technical, not commercial. Implementing frictionless 3DS (passing more risk-data fields to the issuer to reduce the rate of full challenges), enabling Stripe’s request_three_d_secure: 'automatic' instead of 'any', and using exemptions for low-value transactions can typically halve the friction loss. UK ecommerce best practice is 60, 70% of 3DS attempts ending frictionless.

Sibling cards merchants should reference together

CardWhy merchants reach for it next to 3DS Friction Loss
3DS TotalThe denominator. How many charges had 3DS attempted? Friction-loss share is meaningless without context on attempt volume.
3DS Success RateThe healthy / unhealthy band. UK ecommerce target is 80, 92% (3DS-authenticated rate), this card surfaces the dollar cost of being below that.
3DS Abandon RateThe rate complement. Abandon-rate × 3ds-attempted-volume × AOV approximates the gross loss before correlation factor.
Auth Rate3DS abandons are a significant component of why auth rate falls. The two cards together separate “issuer declines” from “SCA friction”.
Decline vs FunnelThe companion cross-channel card. 3DS-driven funnel drops show up there as funnel-only movement (no decline-rate spike).
Recoverable Revenue (decline-driven)Sister cross-channel card. Where this card covers SCA friction, that one covers soft-decline retries. Two different recovery motions.
Decline Rate by Card CountrySome EU issuers have stricter SCA enforcement than others; the geographic split helps target the friction-loss fix.
Shopify Conversion Rate / BC Conversion RateThe commerce-side input. Higher AOV → higher per-abandon loss; same friction rate, very different dollar cost.

Reconciling against the vendor’s own dashboard

Where to look in Stripe Dashboard: Stripe Dashboard does not expose a “3DS friction loss” composite. The closest Stripe-native screens for cross-checking the inputs: A few views that look like this card but aren’t:
  • Stripe’s “Requires action” tile. Counts charges in flight, not lost revenue. Most of those will resolve (succeed or fail explicitly) within a few hours; only the abandoned ones contribute to this card.
  • Stripe Sigma “3DS abandon” custom queries. Closest equivalent. They typically don’t apply the abandon-to-lost-sale correlation factor; the gross number runs higher than ours.
  • GA4 checkout-step-abandonment funnel. Sees the customer abandonment but not the 3DS-specific cause.
Why our number may legitimately differ from Stripe Dashboard:
ReasonDirectionWhy
Correlation factorOurs lower than gross sumWe multiply gross 3DS-friction charges by an abandon-to-lost-sale correlation (60, 75% by vertical) to reflect customers who would have completed without SCA. Stripe Dashboard doesn’t apply this.
requires_action settlement windowOurs may overcountWe treat requires_action charges older than 6 hours as abandoned. Some merchants run 24h-window resolutions; their numbers will be slightly higher.
Page cap (1,000 charges)Ours based on the most recent sliceThe trailing edge of the 30-day window can drop on high-volume merchants.
FX conversionOurs estimate-gradeMulti-currency 3DS charges are converted at the day’s mid-market rate.
3DS attempt detectionOurs strictWe require payment_method_details.card.three_d_secure to be set, not null. Some Stripe Dashboard views include cards that should have done 3DS but didn’t (frictionless flow); ours doesn’t.
Time zoneBoundary days driftStripe Dashboard runs on the account-level time zone; we use UTC.
Cross-connector reconciliation:
ComparisonExpected relationshipWhen divergence is legitimate
stripe_xc_3ds_friction_lossstripe.stripe_3ds_abandon_rateThe latter is the rate without dollarisation. Loss ≈ abandon_rate × 3ds_attempted_volume × commerce_aov × correlation_factor.A high abandon rate with a low loss number means low average ticket size; a low rate with a high loss means a few high-value abandoned charges drove most of the cost.
stripe_xc_3ds_friction_lossstripe.stripe_xc_decline_vs_funnelThe latter shows funnel-drops without a Stripe-side decline-rate spike (often the 3DS signal). When this card is high, that card frequently shows funnel-only movement.Both can be elevated for unrelated reasons (Radar block + 3DS abandons co-occurring); the cards are independent measurements.
stripe_xc_3ds_friction_loss ↔ Shopify / BC / Adobe checkout-completion-rateThe dollar value here approximates the SCA-attributable share of the commerce-platform funnel drop.Useful when the merchant’s commerce-platform conversion-rate alert fires; this card explains how much of that drop is Stripe-3DS-friction-related.
End-to-end: a UK or EU merchant should pair this card with 3DS Success Rate for the rate context and Decline vs Funnel for the cross-channel correlation.

Known limitations / merchant FAQs

Reconciliation questions are answered in the Reconciling against the vendor’s own dashboard section above.
**“My US store has 0frictionloss;isthecardworking?"Probablyyes.USmerchantsdonthaveanSCAmandate,so3DSisrarelyattempted(onlyonissuerflaggedtransactions).Withfew3DSattempts,thecardlegitimatelyreadsnear0 friction loss; is the card working?"** Probably yes. US merchants don't have an SCA mandate, so 3DS is rarely attempted (only on issuer-flagged transactions). With few 3DS attempts, the card legitimately reads near 0. If your US store sees a non-zero number, it’s usually international cards on the same Stripe account; check Decline Rate by Card Country for which countries are driving the friction. “What’s a healthy 3DS friction band?” For UK and EU merchants under PSD2, a healthy 3DS-attempt success rate is 80, 92%, leaving 8, 20% friction. The dollar cost depends on AOV and 3DS-attempted volume; the alert at $1k / month is a low calibration for a metric that’s usually addressable. Expensive verticals (luxury, electronics) hit the threshold faster because of higher AOVs. “Why are SCA-required charges that the customer abandoned counted as friction loss?” Because they are. The customer started checkout, Stripe routed them through SCA, the customer never completed the challenge. Even if the abandonment was for a non-SCA reason (changed mind, found better deal), the abandon-to-lost-sale correlation factor (typically 60, 75%) discounts that share. The remainder is the genuine SCA-attributable loss. “How do I reduce 3DS friction loss?” Three usual levers, ranked by typical impact:
  1. Frictionless 3DS optimisation. Pass more risk-data fields (browser fingerprint, address, email, account age) on the charge so the issuer can authenticate without challenging the customer. Stripe handles this automatically when you use request_three_d_secure: 'automatic'.
  2. Exemption usage. For low-value transactions (< €30), Stripe can request issuer exemption, skipping the SCA challenge. Configure in Settings → Payment methods → 3DS.
  3. Challenge-UX improvements. If your store uses a custom checkout, ensure the challenge iframe is fully visible, doesn’t redirect away, and shows the bank’s branding (which prevents customers thinking it’s a phishing attempt). Most customers who abandon do so because they distrust the SCA prompt.
“Multi-currency, what currency is the loss in?” The commerce sibling’s primary store currency. Non-primary-currency 3DS abandons are FX-converted at the day’s mid-market rate. The conversion is estimate-grade; for a per-currency view, divide 3DS Abandon Rate per currency manually. “Does my US store need this card?” Marginally useful. US 3DS attempts are typically <5% of total volume, so the loss is small. Watch 3DS Success Rate instead, anything below 90% on attempted 3DS in the US suggests a configuration issue. UK, EU, and parts of APAC need this card front and centre. “My subscription store, do recurring 3DS attempts hurt me?” Sort of. Stripe handles recurring 3DS via off-session SCA, which uses an MIT (merchant-initiated transaction) flag and bypasses the customer challenge. Your recurring charges shouldn’t be in the friction-loss numerator. If they are, your subscription setup may not be flagging MIT correctly; check payment_method_options.card.request_three_d_secure: 'automatic' and setup_future_usage: 'off_session' on the original payment intent. “What’s the abandon-to-lost-sale correlation factor for my vertical?” Vortex IQ defaults vary by vertical:
  • UK fashion / apparel: 65%
  • UK electronics: 55% (more shopping-around behaviour)
  • UK subscription / SaaS: 80% (high purchase intent)
  • DE fashion: 60%
  • FR fashion: 70%
  • Universal default if vertical is unknown: 65%
Override via the manifest if your post-incident analysis suggests a different rate. “Why isn’t the card just count × AOV without the correlation factor?” Because that would overstate the loss. Some customers who abandon at the SCA step would have abandoned anyway for unrelated reasons. The correlation factor is meant to keep the dollar number honest, the kind a merchant could actually defend in a finance-team review. The unfiltered gross is on 3DS Abandon Rate if you need it.

Tracked live in Vortex IQ Nerve Centre

3DS Friction Revenue Loss is one of hundreds of KPI pulses Vortex IQ tracks across Stripe and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.