BookbagBookbag
Benchmarks

Repeat Contact Rate Benchmarks for Ecommerce Support (2026)

Repeat contacts are one of the most reliable indicators of support quality and one of the most overlooked. Here's what normal looks like, what drives it up, and how to bring it down.

The Bookbag Team·June 2026· 14 min read

What is repeat contact rate?

Repeat contact rate is the percentage of customers who contact support more than once about the same issue inside a defined window, usually 7 to 30 days. A repeat contact rate of 20% means 1 in 5 people who reach out about a problem have to come back before it's actually resolved. It is, in plain terms, the share of your support conversations that failed the first time.

The window and the same-issue test are what make this metric useful. A customer who emails about a return on Monday and emails about a product sizing question on Thursday is not a repeat contact. Those are two separate jobs. A repeat contact is the second message about the unresolved return, or the third reply chasing a refund that never landed. The signal you care about is whether the original issue stayed closed.

Most teams ignore repeat contact rate because the underlying tickets look like normal volume. Every repeat is a real conversation with a real customer, so it blends into the queue and never gets flagged as waste. But a high repeat contact rate is one of the clearest signs that your first responses are fast but incomplete, or accurate but poorly timed. It's the metric that catches what first response time and CSAT both miss.

Definition

Repeat contact rate = (contacts that are a follow-up about an already-opened issue / total contacts) over a fixed window, typically 7-30 days. It is the inverse signal of first contact resolution: if 80% of issues are resolved on the first contact, roughly 20% will generate a repeat.

How to measure repeat contact rate

The cleanest definition is a reopened-ticket count: of all issues opened in a period, what share generated a second customer-initiated message within your chosen window. Most modern help desks track this natively through reopen events, ticket merging, or a same-customer-same-subject rule. If your tool exposes a reopen reason or a contact-history view, you already have the raw data.

If you don't have automated linking, a manual sample gets you close. Pull a week of resolved tickets, then check how many of those customers contacted again within 14 days about the same topic. A sample of 100-200 tickets is enough to land within a few points of your true rate, which is plenty for a metric you'll be moving by 5-10 points anyway.

One decision quietly shapes the whole number: whether you measure from issues or from customers. Measuring from issues asks what share of opened cases bounced back, which is the version that maps to first contact resolution. Measuring from customers asks what share of people had to reach out twice, which is closer to the experience your buyer actually feels. Both are valid; just pick one and label your dashboard so nobody compares an issue-based rate this quarter to a customer-based rate last quarter and declares a trend that isn't real.

  1. 1Pick a window. 7 days catches the fast repeats (wrong info, incomplete answers); 30 days catches the slow ones (refunds, carrier traces, backorders). Most ecommerce teams report on both.
  2. 2Decide what counts as the same issue. Same order, same return, or same subject thread are all defensible. Be consistent so the trend line means something.
  3. 3Count reopens, not raw replies. A customer sending three messages in one back-and-forth is one conversation, not three repeats. Only count a new contact after the issue was marked resolved.
  4. 4Segment by ticket type from day one. A blended number hides the fact that shipping repeats and WISMO repeats behave nothing alike.
  5. 5Report it next to FCR and CSAT, not in isolation. The three together tell you whether you're fast, complete, and trusted, or just fast.
Watch your window

Short windows undercount refund and shipping repeats because the follow-up arrives after the window closes. Long windows can overcount by catching genuinely new issues from the same customer. Reporting a 7-day and a 30-day rate side by side keeps you honest.

What is a good repeat contact rate for ecommerce?

A good ecommerce repeat contact rate is 15-20%; under 15% is excellent and usually means you've automated order status and refund updates. The typical store without AI sits at 20-30%. Anything above 35% points to a systemic resolution-quality problem rather than a few hard tickets.

These ranges line up with the first contact resolution data they mirror. Cross-industry FCR benchmarks put strong teams at 70-85%, and ecommerce tends to land at the higher end because so many tickets are simple, lookup-style questions. An 80% FCR implies a repeat contact rate near 20%. Industry benchmarking also finds that when FCR is healthy, the share of customers contacting again about the same issue within a few days sits around 10-15%, which is the realistic floor for a well-run, AI-assisted ecommerce team.

The reason this number deserves a seat at the table: when an issue is resolved on first contact, roughly 86% of customers report being satisfied, versus about 42% when a repeat contact is required, according to SQM Group's longitudinal benchmarking. Repeat contacts don't just cost you an extra reply. They roughly halve the odds that the customer walks away happy.

Repeat contact rateWhat it meansLikely cause
Under 12%Excellent. Top-tier resolution quality.Live order data, proactive updates, clear policies.
12-20%Strong. Healthy first contact resolution.Good docs and agent authority; some manual gaps.
20-30%Typical for stores without automation.Incomplete first answers, unset expectations.
30-35%Weak. Customers routinely follow up.Wrong info, no timelines, hand-offs by design.
Above 35%Systemic problem.Process gaps, guessing agents, no live data.

Repeat contact rate benchmarks by channel and ticket type

Repeat contact rate varies more by ticket type than by anything else. Shipping issues sit at the top because the first response is almost always a holding answer: we've opened a trace with the carrier. The customer has nothing to do but wait, and when they don't hear back, they contact you again. That is a repeat contact baked into the workflow, not a failure of the agent.

Order status (WISMO) shows the widest gap between human-handled and AI-handled support. When an agent answers WISMO by reading the same tracking page the customer already saw, the answer is generic and the customer follows up. When an AI agent reads live order and fulfillment data and gives the actual current status plus the expected delivery date, the follow-up rarely comes. That single difference is why WISMO repeat rates drop from the 10-20% range into low single digits with the right setup.

Returns and exchanges land in the middle for a structural reason: they involve a physical round trip. The customer ships the item, you receive it, you inspect it, then you refund or send the replacement. Each handoff is a moment where the customer can lose visibility and contact you to ask where things stand. The stores that keep return repeats near the low end don't have faster carriers; they narrate the process, so the customer knows that silence means progress, not a stalled case.

Setup / ticket typeTypical repeat rateStrong performer
Order status / WISMO (human handled)10-20%Under 10%
Order status / WISMO (AI with live data)3-8%Under 5%
Returns and exchanges18-28%12-18%
Shipping issues (delayed / lost)25-40%18-28%
Billing and refunds15-25%10-18%
Product / pre-sale questions8-15%Under 8%
Overall average (no AI)20-30%15-20%
Overall average (with AI + live data)10-18%8-13%
Channel matters less than you think

Email, chat, WhatsApp, and Instagram DM tend to produce similar repeat rates for the same ticket type. What changes the number is whether the agent could give a complete, accurate answer the first time, not which inbox it arrived in.

Root causes of high repeat contact rate

Almost every repeat contact traces back to one of four root causes. Diagnosing which one dominates your queue is the difference between a targeted fix and a vague push to do better. Pull twenty of your repeat tickets and read the second message: it tells you exactly why the first contact failed.

Incomplete first resolution

The most common cause is an answer that handled part of the issue but not all of it. A customer asks why they were charged twice and gets told one charge is a pending authorization that releases in 3-5 days. True, but the agent never confirmed the second charge or set a check-back. Three days later the hold hasn't cleared and the customer is back. The first answer was correct and still generated a repeat because it didn't close the loop.

Waiting periods that aren't communicated

Many resolutions involve waiting: carrier investigation, refund processing, return delivery confirmation, restock. Customers who aren't told the timeline and the next step will follow up when nothing visibly happens. A line as simple as 'your refund posts in 5-7 business days, no action needed from you' removes the reason to come back. The work was already done; the customer just didn't know it.

Wrong information in the first response

Inaccurate first answers create guaranteed repeats. Tell a customer their package arrives Thursday, and if it doesn't, they're back Friday, now annoyed. Wrong information is the worst failure mode because it hits repeat contact rate and CSAT at the same time. It usually comes from agents guessing instead of reading live data, or from stale help docs the agent answered out of.

Process gaps that require follow-up by design

Some workflows are structured to require a second contact: 'let me check on that and get back to you.' Every one of those is a scheduled repeat. The systemic fix is giving the agent, human or AI, the authority and the data to resolve in one step instead of promising a callback. When an agent can issue the refund, open the exchange, or read the fulfillment record on the spot, the second contact never needs to exist.

How repeat contacts inflate support costs

Repeat contacts cost more than first contacts in two ways. They consume agent time on a problem that should already be closed, and they tend to arrive warmer, since the customer is now frustrated that the first attempt didn't stick. A repeat is rarely a quick reply; it's a re-investigation plus damage control.

The math compounds quickly. A store handling 3,000 monthly tickets at a 25% repeat contact rate is really handling 3,750 contact events, 750 of which are avoidable repeats. At a $12 fully loaded cost per contact, that's $9,000 a month spent re-doing work. Bring the rate from 25% to 12% and you cut roughly $4,680 of that away every month on the same volume, without touching your actual product or shipping problems.

There's a second-order cost too. Repeats sit in the same queue as new tickets, so they push up response time and queue depth for everyone. The more repeats you carry, the slower your genuinely new tickets get answered, which itself drives more follow-ups. It's a loop, and repeat contact rate is the metric that tells you how tight the loop has wound.

Repeat rateTotal contacts (base 3,000)Avoidable repeatsAvoidable cost ($12/contact)
30%3,900900$10,800/mo
25%3,750750$9,000/mo
20%3,600600$7,200/mo
15%3,450450$5,400/mo
12%3,360360$4,320/mo

Repeat contact rate vs FCR vs one-and-done

Repeat contact rate, first contact resolution, and one-and-done all measure the same underlying thing from different angles, and teams confuse them constantly. FCR is the share of issues resolved in a single contact. Repeat contact rate is the share of issues that generated a follow-up. One-and-done is the customer-side view: the share of customers who only had to reach out once. They move together, but they aren't interchangeable.

The cleanest way to hold them in your head: FCR is measured from the ticket's perspective, repeat contact rate from the conversation-flow perspective, and one-and-done from the customer's perspective. A store with 80% FCR has roughly 20% of issues bouncing back, which is a repeat contact rate near 20% and a one-and-done rate near 80%. The exact relationship depends on how strictly each is defined, but if your FCR and repeat numbers don't roughly sum to 100%, your measurement definitions are fighting each other.

Why keep all three if they overlap? Because each one is harder to game in a different way. FCR can be inflated by agents marking tickets resolved prematurely. One-and-done can look good if unhappy customers simply give up and churn instead of contacting again. Repeat contact rate catches the cases the other two miss, the customer who was told the issue was solved, wasn't satisfied, and came back. Watching the three move together is what tells you a gain is real rather than an artifact of how someone closed their tickets.

MetricMeasuresGood ecommerce range
First contact resolutionIssues resolved in one contact75-85%
Repeat contact rateIssues that generate a follow-up12-20%
One-and-done rateCustomers who only contacted once75-85%

How to reduce repeat contact rate

Reducing repeat contact rate is about the completeness and accuracy of first responses, not their speed. Speed without completeness just produces fast repeats. The goal of every first reply should be to make the second contact unnecessary, which means anticipating the next question and answering it before it's asked.

  1. 1Audit your top repeat categories monthly. Sort repeats by ticket type and attack the biggest bucket first. For most stores that's shipping or refunds, not the long tail.
  2. 2Add a next-step and a timeline to every answer that involves waiting. 'Your refund posts in 5-7 business days, no action needed' is the single highest-leverage change for refund and return repeats.
  3. 3Answer the next question, not just the asked one. A missing-package reply should cover what happens now, how long the trace takes, and when to check back, all in the first message.
  4. 4Put live order data in front of every agent. Wrong status from an agent who's guessing is the surest way to manufacture a repeat. AI and humans both need to read the real fulfillment record, not the same tracking page the customer already saw.
  5. 5Set proactive follow-up on open investigations. If you opened a carrier trace, send a status update at 48 hours before the customer has to ask. A proactive update converts a future repeat into a CSAT win.
  6. 6Give agents real resolution authority. An agent who can issue the refund or open the exchange on the spot closes the loop; one who has to 'check and get back to you' schedules a repeat by default.
  7. 7Track FCR by ticket type and fix the widest gap. Compare each category to the strong-performer benchmarks above and pour effort where the distance is largest.
The one-line test

Before you send a first response, ask: what would make this person contact us again? Then answer that in the same message. Teams that build this into their reply templates routinely cut repeat contacts by a third without adding headcount.

Where AI moves the repeat contact number

AI lowers repeat contact rate primarily by making first answers accurate and complete, not by making them faster, though it does that too. The biggest lever is live data. When an AI agent reads the actual order, fulfillment, and refund records and answers with the real current status, the customer gets a definitive answer instead of a holding one, and the follow-up never comes. This is why WISMO repeat rates collapse into the low single digits with the right connection.

The distinction that matters here is agent versus chatbot. A script-based chatbot deflects: it points the customer to a tracking page or a help article and counts that as handled, which often produces a repeat the moment the article doesn't fit. An AI agent reasons over your knowledge base plus live store data, takes the action, and only escalates to a human, with full context attached, when it genuinely should. The action is what closes the loop and keeps the second contact from happening.

Bookbag is built for exactly this. It connects natively to Shopify, WooCommerce, and BigCommerce, reads live order and fulfillment data, and resolves WISMO, returns, exchanges, and refunds within your rules instead of handing them back to the customer with instructions. It can send proactive updates on open issues and hand off to a human with the full thread when a case needs judgment. Pricing is flat with message credits and a spend cap, so a drop in repeat contacts doesn't quietly raise your bill the way per-resolution models do.

  • Live order, fulfillment, and refund lookups so first answers are definitive, not generic.
  • Real actions: returns, exchanges, refunds within merchant-set caps, not just instructions.
  • Proactive follow-up on open investigations before the customer has to chase.
  • Human handoff with full context, so escalations don't restart from zero.
  • Flat, message-credit pricing with no per-resolution penalty as volume grows.

How to track repeat contact rate without overcounting

The most common reporting mistake is counting every reply in a thread as a separate contact, which inflates the number and makes the metric useless for spotting real problems. A single back-and-forth that resolves an issue is one contact, not four. Only count a new contact after the original issue was marked resolved and the customer comes back about it.

The second mistake is mixing genuinely new issues into the repeat count. A customer who returns about a brand-new order in the same window is not a repeat; that's normal demand. Tie the same-issue test to the order or the original ticket, not just to the customer, so loyal customers who contact often don't drag your rate up artificially.

  • Count reopens and same-issue follow-ups, not every message in a thread.
  • Anchor the same-issue test to the order or original ticket, not the customer alone.
  • Report a 7-day and a 30-day rate together to catch both fast and slow repeats.
  • Segment by ticket type so shipping repeats don't hide behind low WISMO repeats.
  • Review the second message on a sample of repeats monthly to find the real cause.
Make it a habit, not an audit

Repeat contact rate is most useful as a monthly trend line per ticket type, not a one-off study. Watch the direction it's moving and which category is moving it. A rate that drifts up is usually a stale help doc or a new shipping problem, both of which are fixable once you can see them.

Key takeaways

  • Ecommerce repeat contact rates run 20-30% without automation, 15-20% for strong performers, and 8-15% with AI and live order data.
  • A good target is under 20%; above 35% signals a systemic resolution-quality problem, not a few hard tickets.
  • Shipping issues carry the highest repeat rates (25-40%) because the first answer is a holding response while a carrier trace runs.
  • AI with live order data drops WISMO repeats from 10-20% to 3-8% by giving definitive answers instead of generic ones.
  • A 25% repeat rate on 3,000 monthly tickets is roughly $9,000/month of avoidable cost; cutting to 12% recovers most of it.
  • The fix is resolution completeness: set timelines, answer the next question, give agents real authority, and follow up proactively.

Frequently Asked Questions

Turn support into your competitive edge

Join the ecommerce teams resolving more tickets, answering 24/7, and turning support into a revenue channel with Bookbag.