We launched ShopPilot on April 13, 2026. By April 15, Google had crawled the site and sent us 88 visitors. Not a lot, but for a brand-new domain with zero backlinks, it was a good signal. The indexing was working.
Then the numbers sat there. And sat there. And sat there.
88 visitors. 0 signups.
The First Suspect: Copy and CTA
We stared at our landing page like it owed us money. The copy felt fine. The value prop was clear. The CTA said exactly what we'd written. So we ran three rounds of copy tweaks โ changed the headline, rewrote the subhead, made the CTA button more aggressive. All within the same funnel. All with the same result: nothing.
88 visitors. 0 signups.
At this point most founders do one of two things: they either declare the channel dead and move on, or they assume the traffic is just bad quality. We had a third option, because we had access to our own data โ we looked at the funnel step by step.
Finding the Hole: The Redirect Chain
The signup flow had a three-step redirect chain:
- User clicks CTA โ
/signup /signupredirects โ/dashboard?setup=true/dashboard?setup=trueredirects โ Shopify OAuth authorization
Step 3 was the killer. Every user who made it through step 2 hit step 3 and got dropped into Shopify's OAuth flow โ which our own analytics was counting as a conversion event. Except it wasn't. It was Shopify asking for permission to read the store's data. The user hadn't signed up for anything yet. They were just granting data access.
Once we realized this, fixing step 3 was obvious: we needed to distinguish between a user who had initiated OAuth (and should be redirected to account creation) vs. a user who had completed OAuth (and was ready for onboarding). We added a session flag that tracked OAuth completion, and only redirected to account creation after Shopify confirmed the connection. Before that point, users went straight to a pre-filled signup form.
The Second Problem: Bot Traffic
With the redirect chain fixed, we started seeing signups. But our conversion rate was still suspiciously low โ around 0.5%. We'd gotten used to the 0% baseline so anything above that felt like progress, but 0.5% from 88 visitors meant we were converting roughly one person per two days.
Looking at the raw event data, we noticed something: a cluster of visits from the same IP range, all hitting the demo page within a 4-minute window, with session durations of exactly 0 seconds. These were clearly crawlers โ Googlebot, Ahrefs bots, architectural scrapers. Not humans.
We already had two event tables: page_views (counts total visits) and conversions (counts signup completions). What we needed was a third table: bot_sessions โ a denylist populated from user-agent + IP reputation signals. Sessions flagged as bot are excluded from all conversion rate calculations. We kept the raw page view counts for absolute traffic reporting, but our funnel metrics only count human sessions.
After filtering, our human visitor count dropped from 88 to 61 โ about 31% of our traffic was non-human. Our conversion rate jumped to 1.6%. Still low, but directionally correct.
The Third Problem: The CTA Nobody Clicked
With bots filtered and the redirect chain cleaned up, we had 61 human visitors and 1 signup over 72 hours. Still wrong.
The CTA on the homepage said: Try ShopPilot Free
It turns out that phrase means different things to different people. To a developer, it sounds fine. To an e-commerce store owner who's been burned by free trials that require a credit card upfront โ it's suspicious. They assume there's a billing trap at the end and they don't even click.
We changed it to: Connect Your Store โ No Credit Card
The new copy did three things: it told you exactly what to do (connect your store), it removed the ambiguity around billing (no credit card), and it implied that the first step is just connecting โ you can evaluate before committing. Conversions went from 1 per 61 visitors to 4 per 61 visitors over the same period.
What Actually Worked
Funnel problems are almost never one thing. In our case, three separate issues were each individually capable of killing conversions:
- The redirect chain โ conflated OAuth initiation with account creation, sent users to the wrong step in the flow
- Bot traffic โ inflated our visitor count by ~31%, making our conversion rate look worse than it was, AND polluted our raw numbers
- CTA ambiguity โ users who did make it through the funnel didn't click because the language implied a billing commitment they weren't ready to make
Fixing all three together moved us from 0% conversion to 6.6% โ 4 signups from 61 human visitors in 72 hours. Not viral, but this is day 5 of a new domain. The indexing is working, the funnel is clean, and we're measuring the right things.
The Takeaway
If you're launching something and getting traffic but no conversions, assume there are at least three problems โ not one. Fix them one at a time, measure after each fix, and don't assume the problem is the channel. The channel is usually fine. The funnel is where the money goes to die.
If you want to see ShopPilot's current funnel in action โ real conversion data, live on our own site โ try the demo here. We built it for e-commerce operators who want to see what AI-powered customer service automation actually looks like before committing.
Or if you'd rather start with your own store: sign up free and connect Shopify in under 5 minutes. No credit card required.