You look up three competitors in Semrush, then in Similarweb, and the numbers don't line up. One site gets 410,000 visits a month in one tool and 260,000 in the other. Sometimes the site that leads in Semrush comes second in Similarweb. It's tempting to pick the tool you trust more, or to average the two and move on.
I'd do neither. The absolute numbers from these two vendors will rarely match, and that by itself tells you very little. What matters for competitor research is whether the two tools agree on the shape of the market: who is bigger, by roughly how much, and who is growing. You can usually answer that even when the totals are far apart, as long as you set up the comparison carefully.
Here is the process I use.
First, check that you're comparing the same number
Many of the "Semrush and Similarweb disagree" cases I see are not disagreements at all. Two different metrics are being compared.
Semrush shows two traffic figures for a domain, built in different ways. Its knowledge base explains that Domain Analytics estimates traffic from keyword positions (search volume multiplied by an average click-through rate), so it describes what a site could get from organic and paid search. Traffic Analytics is built from clickstream data and covers all channels: direct, referral, search, social, email and display. Semrush says the two will almost always report different estimates and recommends Traffic Analytics for benchmarking overall traffic between sites.
Similarweb's headline figure, Total Visits, also covers the whole site rather than search alone. So if you put the organic traffic number from a Semrush domain overview next to Similarweb's Total Visits, a big gap is expected. The first number counts search clicks only. The second counts all visits.
The definition of a visit isn't identical either. Similarweb counts a visit when someone opens one or more pages and keeps adding pageviews to it until the user has been inactive for more than 30 minutes; a new visit also starts at midnight. Semrush describes a visit as a session, "a set of actions a user makes with a given website during a limited timeframe." The rules are close but not identical, and small differences in rules add up over millions of sessions.
So the first rule is simple. Compare Semrush Traffic Analytics visits with Similarweb Total Visits, and leave the keyword-based organic estimate for SEO questions.
Line up the settings before you line up the numbers
Both tools let you change scope, and the defaults don't always match. Before reading any figures, I set these four filters the same way in both tools.
| Setting | Semrush | Similarweb | What I do |
|---|---|---|---|
| Device | All devices, desktop or mobile | Desktop, mobile web or all traffic; tablets count as mobile web | Use all devices in both, or the same single device |
| Geography | Regional database or all regions | Worldwide or a country filter | Pick one: worldwide, or the same country |
| Subdomains | A root domain covers the whole domain, subdomains included; to leave them out, analyze one subdomain (e.g. www.site.com) or a subfolder as its own target |
Subdomains included by default, with a toggle to exclude them | Decide whether blog.site.com or app.site.com belongs in the count, and apply it everywhere |
| Period | Monthly, weekly or daily data | Monthly, weekly or daily data | Use the same complete calendar month or quarter |
The subdomain row is the one that catches people. Picture a SaaS competitor whose logged-in product lives on app.example.com. Included, it can dominate the total. Excluded, the marketing site may look modest. Neither number is wrong, but they answer different questions.
The period matters too. Semrush notes that it moved to a model with daily processing and that sharper estimates "may cause some shifts in metrics." If you compare a month pulled last spring with a month pulled today, part of the change may come from the model rather than the site.
Compare inside each vendor first
Once the settings match, I stop comparing Semrush numbers with Similarweb numbers directly. Instead I compare competitors within each tool, then compare the two results.
Here's a hypothetical set of three competitors, one month, worldwide, all devices, subdomains excluded:
| Site | Semrush visits | Share of set (Semrush) | Similarweb visits | Share of set (Similarweb) |
|---|---|---|---|---|
| Site A | 410,000 | 55% | 260,000 | 50% |
| Site B | 220,000 | 29% | 170,000 | 33% |
| Site C | 120,000 | 16% | 90,000 | 17% |
Similarweb's figures run 23% to 37% below Semrush's. The structure barely moves. Both vendors put A first with about half of the set's traffic, B second at about a third, and C third at about a sixth. For most competitor decisions (who to benchmark against, whether a rival is in a different league, which market share target is realistic), that agreement is enough to act on.
That's why I don't average the totals. An average of two models that count differently produces a number neither vendor would stand behind. Shares and rank order are much more stable across tools than raw visits.
Read the disagreement, not just the numbers
When the two vendors do disagree on structure, the type of disagreement tells you where to look.
Same order, different scale. This is the normal case, as in the table above. Report the order and a range for the gap ("A gets roughly 1.5 to 1.9 times B's traffic") instead of a single figure.
Two sites swap places. If B and C trade positions and their shares are within a few points of each other, I treat them as a tie. Model noise between two similar sites can easily be bigger than the real difference.
One site is far apart between tools. Say Site C has 120,000 visits in Semrush and 15,000 in Similarweb while A and B agree. Something specific to C is going on. My usual suspects:
- the subdomain setting didn't match for that site;
- most of C's audience arrives through a channel one panel sees poorly, such as email, an app or direct visits from a niche community;
- C is small, so both models are working from thin data.
On the last point, Semrush publishes a Data Accuracy rating for its traffic estimates, available in its Trends API for root domains. When that rating is low for one competitor, I treat that competitor's figures as a rough range, not a data point.
Use channels to explain the gaps
Both tools break traffic down by channel. The Semrush Traffic Analytics dashboard shows direct, referral, organic search, paid search, social, email and display, and more recently AI assistant traffic and Google AI Mode as separate channels. Similarweb has a comparable channel view.
Channel splits help in two ways. First, they explain disagreements: if one vendor attributes 40% of a competitor's visits to direct traffic and the other 15%, the gap in totals often sits in that channel. Second, they give you a comparison that matters more than total visits. If you're planning SEO, you care about how much of each rival's traffic comes from organic search and whether that share is rising. Vendors agree on that share far more often than on totals.
A repeatable comparison worksheet
This is the checklist I run every time I benchmark a competitor set:
- Pick the metric: Semrush Traffic Analytics visits and Similarweb Total Visits. Not the Semrush keyword-based organic estimate.
- Match device, geography, subdomain handling and period in both tools. Write the settings down next to the figures.
- Pull every competitor from both vendors for the same complete month.
- Calculate each site's share of the set within each vendor.
- Compare rank order and shares across vendors. Note ties, swaps and outliers.
- For any outlier, check the subdomain setting, the channel mix and Semrush's Data Accuracy rating.
- Report ranges and order, not one blended number. Repeat with the same settings next quarter so the trend is comparable.
Step 3 is where the time goes when you work site by site. To speed it up, I paste up to 10 hosts into the website traffic checker we built at Karma.Domains. It lets you compare website traffic for the whole set in one table, with the Semrush and Similarweb estimates for each site side by side. Any setup that shows both vendors at once will save you the tab-switching; the settings discipline in step 2 is still on you.
FAQ
Why don't Semrush and Similarweb traffic numbers match?
They measure different things in different ways. Each vendor builds its estimates from its own panel data and models, defines a visit by slightly different rules, and applies its own default settings for devices, countries and subdomains. Match the metric and the settings first, and the remaining gap becomes much easier to explain.
Which is more accurate, Semrush or Similarweb?
Neither is accurate for every site. Both model traffic from panels and other signals rather than measuring it, and both are more reliable for large sites than small ones. For competitor work, the more useful question is whether they agree on rank order and shares for your set.
Should I average Semrush and Similarweb traffic?
I don't. The two vendors define and model visits differently, so an average describes neither. Compare shares within each tool and report a range.
Why does Semrush show two different traffic numbers for the same site?
Domain Analytics estimates search traffic from keyword rankings, while Traffic Analytics estimates all visits from clickstream data. Semrush says the two will almost always differ. Use Traffic Analytics when you compare total traffic.
How big a gap between two competitors is meaningful?
If both vendors show the same leader and, in each tool, the two sites' shares are more than a few points apart, the gap is probably real. If the order flips between tools and the shares are close, treat it as a tie and look at the trend over several months.
Two vendors that disagree on totals but agree on the order are giving you a usable answer. Set them up the same way, compare within each, and save your attention for the sites where they don't agree.
Top comments (1)
Judging the tools on whether they agree about the shape of the market, not the totals, is the right test. Before trusting that shape, I calibrate both against the one site where I know the truth: my own.
Run your own domain through Semrush Traffic Analytics and Similarweb with the same four filters you listed, then set both next to your analytics for that calendar month. If one tool reads you at half your real visits and the other lands close, you know how each panel sees your niche before reading any competitor.
The caveat from practice: this breaks down for small sites. With local businesses or young blogs as competitors, very few panel users sit behind each estimate, and the order can flip month to month. There I stop comparing visits and compare which keywords each competitor ranks for and where, because positions are observed in the results, not inferred from a panel.