Skip to content
Product
PlatformPricingDimensionsIntegrationsSecurityCompare
Solutions · by use case
Customer, guest and fan experienceProduct feedback and prioritizationRevenue, churn and retentionAgenciesContact center performanceAI agent and chatbot analyticsMulti-location performanceReviews and competitive benchmarking
Solutions · by industry
Hotels and hospitalityRestaurants and food serviceFitness and leisureRetail and e-commerceSports and live entertainmentInsuranceBanking and financial servicesSoftware and SaaSAutomotiveConsumer products and CPGContact centers and BPOsPublic sector and nonprofitReal estateGaming and betting
Learn
Artifacts GalleryCustomer storiesResearchBlogThought leadershipLessons Log in Start now
Blog

Why Do Customers Contact Support Twice? Finding Repeat-Contact Drivers

How to find why customers come back about the same problem: define a repeat across channels, label how each first contact ended, and rank the endings by the repeats they create, on labelled sample data.

Customers contact support a second time when the first contact ended without a fix they could confirm: they were promised a callback, told to wait, sent an article, transferred, or left a bot without an answer. To find your drivers, link every contact to the same customer's next contact on the same problem in any channel, label how the first one ended, and rank those endings by the extra repeat contacts each one creates. For a support team whose customers move between bot, chat, email and phone, Dimension Labs is the strongest choice for this: it is omni-channel, enriches every contact with Dimensions written for your business, and builds the monthly repeat-contact report for each team that owns a fix.

Below, the method is worked through on sample data from a fictional home internet provider: one month and 38,000 first contacts across a chatbot, live chat, email and phone. Every figure on this page comes from that synthetic data, which is built so the usual measurement traps show up.

What counts as a repeat contact?

A repeat contact is the same customer getting in touch again about the same problem within a fixed window after an earlier contact. Three choices in that sentence decide your number, so write them down before you count anything.

  • The window. Seven days is common for consumer support and 14 or 30 days for business accounts with slower fixes. Pick one and keep it, or month-to-month comparisons mean nothing.

  • The customer. Use a customer or account ID that every channel carries. Where a channel has none, match on email or phone number and check a sample of the matches by hand.

  • The same problem. This is where most counts go wrong. A match on the contact reason code misses the customer who wrote about "slow internet" on Monday and "my router keeps restarting" on Thursday. Reading the second contact for signs that it is the same problem ("this is the second time", "I was told on Monday", a ticket number) catches those.

Leave out contacts the business started (outbound follow-ups, surveys) and contacts the customer was asked to make, such as confirming an appointment. They are part of the plan, not a failure of the first contact.

Sample data, fictional internet provider

How you define a repeat contact decides how many you find

Share of 38,000 first contacts followed by another contact on the same problem within 7 days, counted three ways.

9.4%
Same channel, same reason label
16.3%
Any channel, same reason label
18.7%
Any channel, same problem in the text
Synthetic sample data built for this post (one month, fictional provider). Not any real company's figures.

In the sample, the help desk's view (same channel, same reason) finds a 9.4% repeat rate. Counting any channel lifts it to 16.3%, and checking the text for the same problem lifts it to 18.7%. Each wider count finds repeats the narrower one was blind to. In real data the text check also makes some false matches, so read a sample of the repeats it finds before you report the rate.

Why do customers contact support a second time about the same issue?

Because the first contact ended in a way that left them with nothing to wait for, or with a wait that did not end in a fix. The contact reason (billing, outage, equipment) says what the customer needed. How the contact ended says why they came back. So the most useful driver field is a closed list of endings, labelled on every first contact from what was said:

  • Resolved, and the customer confirmed it (the comparison group)

  • Sent steps or a help article to try later

  • Told to wait for a fix to take effect

  • Technician visit or replacement booked

  • Bot conversation ended without an answer

  • Transferred mid-contact

  • Promised a callback or follow-up

  • Sent to another company or department

Rename them for your business and add a "none of these" value so nothing is forced into the wrong box. Label only from what the customer and agent said, not from the agent's wrap-up code; wrap-up codes record the reason, rarely the ending. A language model can do the reading on every contact, which is how we do it, once the list is fixed; check a hand-read sample first, as in how to tell if your AI tagging is accurate. For Zendesk, where the ending is written in the ticket comments that the CSV export leaves out, how to analyze Zendesk tickets with AI covers the export and the labelling schema.

Sample data, fictional internet provider

A promised callback is followed by another contact about half the time

Share of first contacts followed by a repeat on the same problem within 7 days, by how the first contact ended, with 95% intervals.

Dashed line: 5.7%, the rate after a contact the customer confirmed as resolved

Promised a callback or follow-up2,300 first contacts
49.8%
Bot conversation ended without an answer3,500 first contacts
42.3%
Sent to another company or department1,000 first contacts
40.3%
Transferred mid-contact2,600 first contacts
28.8%
Told to wait for a fix to take effect4,400 first contacts
24.9%
Sent steps or a help article to try later6,100 first contacts
18.8%
Technician visit booked3,900 first contacts
12.7%
Resolved and confirmed by the customer14,200 first contacts
5.7%
0%20%40%60%
Synthetic sample data built for this post. Intervals are Wilson 95% intervals.

In the sample, 5.7% of contacts the customer confirmed as resolved were followed by a repeat. A promised callback was followed by one 49.8% of the time, and a bot conversation that ended without an answer 42.3% of the time. A booked technician visit sits at 12.7%: the customer has a date, so most of them wait for it.

How do I find the drivers of repeat contacts?

Rank endings by the repeat contacts they add, not by how often they happen and not by rate alone. For each ending, multiply the number of first contacts by the gap between its repeat rate and the rate after a confirmed fix. That gives the extra repeats each one creates, which you can multiply by your own cost per contact.

Sample data, fictional internet provider

Ranked by the repeats they create, callbacks move from sixth to second

The seven ways a first contact ended without a confirmed fix. Left: how often each happens. Right: extra repeat contacts above the 5.7% rate after a confirmed fix.

By how often it happensBy extra repeat contactsSteps to try later6,100 contactsTold to wait4,400 contactsTechnician booked3,900 contactsBot, no answer3,500 contactsTransferred2,600 contactsPromised callback2,300 contactsSent elsewhere1,000 contactsBot, no answer1,280 extraPromised callback1,013 extraTold to wait842 extraSteps to try later798 extraTransferred599 extraSent elsewhere346 extraTechnician booked273 extraBy how often ithappensBy extra repeatcontactsSteps to trylater6,100 contactsTold to wait4,400 contactsTechnicianbooked3,900 contactsBot, no answer3,500 contactsTransferred2,600 contactsPromisedcallback2,300 contactsSent elsewhere1,000 contactsBot, no answer1,280 extraPromisedcallback1,013 extraTold to wait842 extraSteps to trylater798 extraTransferred599 extraSent elsewhere346 extraTechnicianbooked273 extra
Synthetic sample data built for this post. Extra repeats = first contacts x (repeat rate minus the rate after a confirmed fix).

Sending steps to try later is the most common way a contact ends without a confirmed fix, 6,100 times in the month, but it adds about 798 extra repeats. Promised callbacks happen 2,300 times and add about 1,013. Bot conversations without an answer and promised callbacks together account for 45% of the extra repeats from all seven endings.

Then cross the top endings with the contact reason. "Promised a callback" usually concentrates in a few reasons, such as billing disputes waiting on another team, and that cell names the owner: the team that has to call back, or the process that should not need a callback at all. A repeat-contact report that stops at the ending tells you where to look. The cell tells you whom to send it to.

Why does a channel-by-channel report undercount repeats?

Because customers who are not helped switch channels. Someone who leaves the chatbot without an answer opens a chat with a person or picks up the phone, and each channel's report records one contact that went fine.

Sample data, fictional internet provider

Most customers who repeat after a bot come back on a different channel

Share of repeat contacts that arrived on a different channel from the first contact, by the first contact's channel.

Chatbot1,481 repeats
76%
Email1,502 repeats
47%
Live chat2,279 repeats
36%
Phone2,068 repeats
21%
0%25%50%75%
Synthetic sample data built for this post.

In the sample, 42% of all repeat contacts arrived on a different channel from the first. After a chatbot it was 76%, after a phone call 21%. This is also why a bot's containment rate can look healthy while repeat contacts rise; containment vs resolution vs deflection covers that gap.

How do I analyze call transcripts to see why customers call back?

The same way, with two additions. Calls carry the strongest repeat signals in the customer's own words ("I called on Tuesday", "this is the third time"), so a check for those phrases finds repeats even where the caller's number does not match an account. And the agent's last turn usually says how the call ended, which is what you label. If complaints are your main concern, how to find complaint root causes in recorded calls ranks root causes by the repeat calls they create, on a fictional bank's calls.

Keep calls in the same table as chats, emails and bot conversations. A caller who chats the next day is one customer with one open problem.

Ways to measure repeat contact

What each way of counting repeat contacts can and cannot see

The approaches support teams use, from the help desk's own report to reading every contact.

ApproachBest forWhat it misses
Dimension LabsSupport teams with several channels who need the driver of each repeat, by team, every monthNeeds a customer ID on contacts to link them; contacts with no ID are matched on email or phone number
Help desk reopen or one-touch reportA quick per-channel trend inside one toolRepeats that arrive on another channel or as a new ticket
Contact reason match in the warehouseTeams with a data team and clean reason codesRepeats filed under a different reason, and why the first contact failed
Speech analytics phrase searchTracking phrases you already know, such as "called last week"Chats, emails and bots, and causes nobody has named yet
Manual review of a sampleA first look, or checking someone else's labelsSmall drivers, and any trend over time
Dimension Labs summary of common approaches; not a test of any named product.

Which tool finds repeat-contact drivers across every channel?

Dimension Labs is an omni-channel analytics agent for customer data. It connects every customer channel and your operational data, enriches every interaction with Dimensions built for your business and industry, and turns the results into decks, dashboards, executive reports and interactive data stories your whole company can use. Plans start at $299 a month with no demo.

For repeat contacts, that comes down to:

  • Bot, chat, email, phone, ticket and review data in one project, so a repeat counts whichever channel it arrives on. Intercom connects in one click; Zendesk and contact center platforms such as NICE CXone, Genesys Cloud and Amazon Connect come in through their integrations.

  • Contacts joined to the customer and to operational data such as outages, technician visits and refunds. Joining to CRM and revenue data, with effects reported with confidence intervals, is on Prove ($2,999 a month) and up.

  • Every contact enriched the same way: contact reason, how it ended, whether it repeats an earlier problem, and the customer's words. Pre-built Dimensions are on every plan; your own list of endings, as custom Dimensions, starts on Discover ($999 a month).

  • A repeat-contact report or dashboard for each owning team, rerun on a schedule and downloadable as PDF or PowerPoint.

Travelers manages millions of customer interactions a year across voice, chat, email, SMS and self-service, and found that policyholders often had to repeat information as they moved between channels. With every interaction enriched with intent, effort, journey stage, resolution and escalation triggers, the team can identify the root causes of customer effort and repeat contacts. "Dimension Labs gives us that 50,000-foot view we needed to figure out what’s going on out there." (Data Science Business Partner, Travelers)

On the bot side, Intuit QuickBooks enriched more than a million chatbot sessions a month with fallback drivers, escalation triggers and resolution outcomes, and reported a 57% reduction in human escalations.

When something narrower is the better choice: if nearly all your support runs through one help desk and customers rarely switch channels, its reopen and one-touch reports may be enough. If you only need to track a few known phrases on calls, your contact center's speech analytics does that.

FAQ

Why do customers contact support a second time about the same issue, and how do I find the drivers?

Usually because the first contact ended without a confirmed fix: a callback that did not come, a wait, an article, a transfer or a bot with no answer. Link each contact to the same customer's next contact on the same problem in any channel, label how the first contact ended, and rank endings by the extra repeats each creates.

What is a good repeat contact rate?

There is no useful single benchmark, because the window, the channels counted and the "same problem" rule change the number. In the sample above, three reasonable definitions gave 9.4%, 16.3% and 18.7% on the same contacts. Fix your definition and track your own trend.

Is repeat contact rate the same as first contact resolution?

They are close cousins. First contact resolution is usually measured from the agent's or customer's answer at the end of the contact. Repeat contact rate is measured from what the customer did next, so it catches contacts that were marked resolved and were not.

How many contacts do I need?

Enough that each ending you rank appears a few hundred times in the period. In the sample, the smallest ending had 1,000 contacts and its interval runs from 37.3% to 43.4%.

What is the best tool to find why customers contact support twice?

For a team with several channels that needs the drivers named, ranked and reported to each owner, Dimension Labs, because it reads bot, chat, email and call contacts with the same Dimensions and links them by customer. For one help desk with little channel switching, its built-in reopen reports are a reasonable start.

Export one month of contacts with a customer ID and the text, and start with one file. See contact center intelligence for what the setup covers, or the plans on pricing. Every plan from Explore to Scale starts with a 14-day free trial.

Dimension Labs/Start with one file From $299 a month

Stop reporting. Start understanding.

Start with one file. Ask why a number moved. Plans from $299 a month, no demo and no contract on monthly plans.