Growth

Traffic up but sales flat? What to check, in order

Ownlytics team · · 6 min read

When traffic rises and sales stay flat, check these in order: where the new visitors came from, which pages they landed on, whether they reached your pricing page, how long your buyers usually take, and whether sales are being attributed at all. Often the extra traffic is real, but it is the wrong kind.

yourapp.comToday7d30d9 online
Visitors3,619+42.1%
Revenue$2,226+67.0%
Conversion0.41%+8.4%
Revenue/visitor$0.11+17.6%
1.4k7000
SourceVisitorsSalesRevenue
Xx.com6,2479$441
Ggoogle.com4,43314$686
@newsletter1,1307$343
Ynews.ycombinator.com2,0153$147
Cchatgpt.com1,4114$196
↗Direct · typed or bookmark1,2092$98

Fig.Visitors up, revenue flat: the source table shows who stopped paying. Sample data, not a real site.

Do not start by changing the product or the price. First find out which of five explanations you are dealing with. Each one calls for a different fix.

1. Did the source mix change?

Break the period down by channel and compare it to the previous one. A jump from one source rarely lifts every number equally. A social post or a mention somewhere can send hundreds of curious people who were never going to buy.

The number to compute is revenue per visitor by source. A source that doubled its visits with revenue per visitor near zero explains your flat sales by itself. Revenue per visitor is the metric that makes this comparison honest.

Decision: if the growth is in a low-intent source, stop treating the total as a win. Keep that source for reach, and put effort into the sources with real revenue per visitor.

2. Is some of it not human?

Sudden traffic from an unfamiliar referrer, visits with no scrolling, or a single page hammered all day can be bots or referrer spam. If your traffic doubled overnight with no cause you can name, suspect this first. See bot and referrer spam: how to filter your analytics.

Decision: filter the junk, then recompute conversion. If conversion "fell" only because of bad traffic, nothing is broken.

3. Did visitors land on pages that sell?

Look at entry pages for the new traffic. If the surge landed on a blog post that does not link to your product, visitors read and leave. The Engagement card shows scroll depth and reading time per page, and compares how buyers read versus everyone else.

Decision: for the pages receiving the new traffic, add a clear next step, or send that source to a page that matches its intent.

4. Did they reach the pricing page, and what happened there?

Build a simple funnel: landing page, pricing page, checkout start, purchase. Goals and funnels can use pages, goals and the payment step, and show where visitors drop off and which sources convert at each step.

Where the drop isLikely causeFirst thing to try
Landing to pricingPage does not make the next step obviousAdd a visible link or button
Pricing to checkout startPrice, plan choice, or trustSimplify plans, clarify what is included
Checkout start to purchasePayment frictionTest the checkout yourself on mobile

The pricing page is a common place for people to look before paying. The Path to purchase card shows the share of customers who saw each page before paying, which tells you which pages deserve attention.

Decision: fix the biggest single drop, not all of them. Change one thing, then give it time to show up.

Visited pricing
2,400
Started checkout
180
7.5% continue
Paid
46
25.6% of checkout starts

Fig.Three steps are enough for a small product. The drop between them is where to look. Sample data, not a real site.

5. Are the sales there but unattributed, or delayed?

Two reasons sales can look flat when they are not:

Decision: wait out the buying window before judging. Fix unattributed sales so your source table can be trusted.

Example (made-up numbers for illustration)

Last month versus this month for a small product.

SourceVisitors last monthVisitors this monthRevenue last monthRevenue this month
Search1,2001,250$392$392
Social3002,100$49$49
Newsletter150160$245$245
Total1,6503,510$686$686

Visitors more than doubled, and revenue did not move. Nearly all the extra visitors came from social, where revenue per visitor is $0.16 last month and $0.02 this month. Nothing is wrong with search or the newsletter. The decision: do not rewrite the pricing page in response. Treat the social surge as awareness, and check next month whether any of those visitors return through search or direct and buy later.

When this does not apply

If total traffic is small, a handful of sales either way makes every ratio noisy. Wait for more data. Also, if you changed prices, plans or the checkout recently, that is a likelier explanation than the traffic mix, so check your timeline first. Pinning changes as chart notes makes that easy.

At a glance

OrderCheckMetricIf it fails
1Source mixRevenue per visitor by sourceShift effort to paying sources
2Bot trafficEngagement and referrer sanityFilter and recompute
3Landing pagesEntry page, scroll, reading timeAdd a next step
4FunnelDrop at each stepFix the biggest drop
5Timing and attributionMedian time to buy, unattributed salesWait, then fix linking

If you would like to see source, funnel and path to purchase views together on sample data, the live demo has them.

FAQ

How long should I wait before concluding traffic does not convert?

At least your median time to purchase, and ideally the longer end of it. If customers usually buy within a day, a week is plenty. If they take weeks, judge later.

Is it normal for new traffic to convert worse than existing traffic?

Often, yes. New traffic tends to be earlier in its decision than people who already know you. The question is whether revenue per visitor is low enough to ignore the source.

Should I lower my price when traffic is up and sales are flat?

Not before checking the five items above. Price is one possible cause. A source mix change or a missing next step is usually easier and cheaper to fix.

Can I ask an AI assistant to run these checks?

If you connect one to your analytics, it can pull source, page and funnel data for you. See AI agents reading your analytics.

See the live demo · View pricing

Keep reading