Off Prompt

AI Tools for Small Business

How to use AI to track which marketing channels are actually bringing in customers without a data analyst

Owen Grant 10 min read
How to use AI to track which marketing channels are actually bringing in customers without a data analyst

You're running ads on Instagram, sending emails, showing up in Google search, and handing out cards at local events — and when someone books with you, you genuinely have no idea which of those things actually worked. You can feel it every time you're about to renew an ad budget and you're just... guessing.

This post walks you through a simple, nearly free system to figure out which marketing channels are actually bringing in customers — and how to use AI to do the analysis for you.

You don't need a marketing degree or a $500/month analytics platform to make this work.


What you need before you start

Google Analytics 4{:target="_blank"} — a free tool from Google that tracks who visits your website and where they came from. Free.

Google Campaign URL Builder{:target="_blank"} — a free Google tool that builds tagged links (called UTM links) so GA4 can tell which campaign sent someone to your site. Free.

A Google Sheet — just a plain spreadsheet to log customer sources. Free.

ChatGPT{:target="_blank"} (GPT-4o) or Claude{:target="_blank"} (3.7 Sonnet) — AI tools that can read your spreadsheet and do the analysis. Free tiers available for basic chat; uploading files (which this guide uses) requires a paid plan on both — currently around $20/month each. See the FAQ at the bottom for a free-tier workaround.

Time required: About 2–3 hours to set everything up the first time. After that, maybe 30 minutes a month to keep it running.

Skill level: If you can copy a link and fill in a spreadsheet row, you can do this. Seriously.


Setting up the data trail that makes attribution possible

Before AI can help you figure out what's working, you need to give it something to work with. This part is less glamorous than the AI stuff, but it's the whole ballgame. Think of it like putting labels on boxes before you move house — it's the only way to find anything later.

  1. Go to the Google Campaign URL Builder{:target="_blank"}.
  2. Paste in the URL you want to share — say, your booking page or homepage.
  3. Fill in the three required fields: Campaign Source (where the link lives, like instagram), Campaign Medium (what type of channel it is, like social), and Campaign Name (what you're promoting, like spring_promo).
  4. Copy the long tagged link it generates. It'll look something like yoursite.com/book?utm_source=instagram&utm_medium=social&utm_campaign=spring_promo.
  5. Use that tagged link any time you post on Instagram, send an email, or run an ad — instead of your plain URL.

That tag travels with every click. When someone visits your site through that link, GA4 records exactly which campaign they came from. Without this, GA4 just sees "someone came from Instagram" — it can't tell you if it was your paid ad or that post you made in February.

A common mistake: running Facebook or Instagram ads without UTM tags, then wondering why your reports just say "social media" without any useful detail. One tagged link per campaign fixes that entirely.

Step 2: Build your simple customer tracking sheet

  1. Open a new Google Sheet.
  2. Create these columns: Date | Customer Name | Revenue | How They Found You (what they told you) | Referring URL (if you have it) | First Touch Channel | Last Touch Channel.
  3. Fill in a row every time you get a new customer or lead. It takes about 60 seconds per entry.
  4. Pull the Referring URL from your intake form, booking software, or GA4 if you have it — but even self-reported answers ("they said they saw you on Instagram") are genuinely useful here.

Once you have 30–50 rows, you have enough for AI to find real patterns. You don't need years of data.


How to use ChatGPT or Claude to analyze your data

This is where it gets satisfying. You've done the boring setup work. Now you let AI do what would otherwise take a marketing analyst half a day.

  1. Export your Google Sheet as a CSV file (File → Download → Comma-separated values).
  2. Open ChatGPT (GPT-4o) or Claude — either works well for this.
  3. Upload the CSV file using the file attachment button.
  4. Paste in your analysis prompt.

Here's a prompt you can copy and adapt. It's written to give the AI enough context to be specific rather than vague:

Here is a spreadsheet of my last 90 days of customer acquisitions. Each row includes the date, the customer, the revenue they brought in, which channel they said they came from, and any referring URL data I have. I also have columns for estimated ad spend by channel at the bottom. Please do the following: calculate my cost per acquisition by channel, identify which channel has the best return on what I'm spending, and flag any channel where I'm spending money but seeing zero or near-zero conversions.

Tweak the last sentence to match what you actually want to know. If you don't have ad spend data in the sheet, just say so — ask it to focus on which channels are producing the most revenue instead. Claude and GPT-4o are both good at working with what you've got rather than complaining about what's missing.

What you'll get back is a plain-English summary of your channel performance — cost per customer, which sources are delivering, and which ones look like they might be a money pit. These are tasks that used to require an agency or a marketing hire.


Combining self-reported and digital data for a complete picture

Here's a thing most people don't realize: asking customers "how did you hear about us?" is still one of the most useful things you can do, even in 2026. Not because it's perfectly accurate — people forget things — but because a lot of conversions happen offline or through word-of-mouth that no tracking link will ever capture.

The real move is combining both. Your UTM and GA4 data tells you what happened digitally. Your self-reported column tells you about referrals, yard signs, walk-ins, and that one client who heard about you from their dentist.

When you run both through the same AI prompt, you get a more honest picture than either source gives you alone. You might find your UTM data says email drives the most web traffic, but your self-reported column shows referrals are bringing in your highest-value clients. That's a genuinely useful insight that neither data source would show you on its own.


Building a free visual dashboard with Google Looker Studio

If you want to see your channel performance as a chart instead of a spreadsheet, Google Looker Studio{:target="_blank"} connects directly to GA4 for free.

  1. Go to Looker Studio and sign in with your Google account.
  2. Click "Create" → "Report."
  3. Connect your GA4 account as the data source.
  4. Use one of the built-in GA4 template dashboards — there are several that show traffic by channel out of the box.

The initial setup takes 2–3 hours, but once it's done, it updates automatically. You can also paste a screenshot of your dashboard into ChatGPT or Claude and ask it to tell you what it notices — a surprisingly useful shortcut when you're not sure how to read a chart.


Automating your data collection so it doesn't become a chore

Manually filling in your tracking sheet every time you get a new customer works fine at first. But if it starts feeling like homework, you'll stop doing it — and then you're back to guessing.

Zapier{:target="_blank"} and Make{:target="_blank"} (formerly Integromat) both connect your other tools — Calendly, Typeform, Stripe, your booking software — to your Google Sheet automatically. When someone books or pays, a new row appears in your sheet. No manual entry.

Setting up a basic automation takes about an hour and costs nothing on free-tier plans for low-volume businesses. It's worth the one-time setup.

For local service businesses — plumbers, cleaners, consultants — there's one more piece worth knowing about: CallRail{:target="_blank"} (starting around $45/month) assigns a unique phone number to each marketing channel. When someone calls your "Google Ads number" versus your "flyer number," CallRail logs which one. If most of your customers call rather than book online, this solves the offline attribution problem that no spreadsheet trick can fix.


How to make a budget decision based on your AI analysis

Once you've run your data through AI and seen which channels are producing, the decision framework is simpler than most people expect. You don't need perfect data or a fancy attribution model. You need to know which channel drove your last 50 customers.

If channel A brought in 30 of them at $40 per acquisition and channel B brought in 5 at $120 per acquisition, you know where to put more money. And you know where to cut back, or at least test harder before spending more.

Ask Claude or ChatGPT directly:

Based on this analysis, if I have $500 to reallocate in my marketing budget next month, where would you recommend I shift it and why?

You'll get a reasoned recommendation in plain English. Not a guarantee — no one can give you that — but a logical, data-backed starting point that's a lot better than gut feeling.


When something goes wrong

Your GA4 data shows almost everything as "direct" traffic. This usually means your UTM links aren't being used consistently — some links are tagged and some aren't. Go back and make sure every link you share publicly has a UTM tag on it. The Google URL Builder makes this quick.

Your AI analysis says it can't find patterns because there isn't enough data. Totally normal if your sheet has fewer than 20–30 rows. Keep filling it in for another few weeks. Thirty to fifty entries is the threshold where patterns start to show up reliably.

The AI gives you a very confident-sounding answer that doesn't match what you know. This happens when the data going in has inconsistent formatting — channel names spelled differently in different rows ("Instagram" vs "instagram" vs "IG"). Clean up the column so every channel has one consistent name, then re-run the analysis.

None of these are disasters. They're just the data equivalent of finding a mislabeled box.


What to do next

Pick one marketing channel you're currently spending money on and build a tagged link for it today using the Campaign URL Builder. Just one. Add it to your sheet, use it for a month, and see what comes back. Starting small is how this actually becomes a habit rather than a project.

If you want to take this further, [we have a walkthrough on setting up Google Analytics 4 from scratch for a small business website](INTERNAL_LINK: how to set up Google Analytics 4 for small business) that covers the initial GA4 configuration in detail.


FAQ

Do I really need Google Analytics, or can I just use the spreadsheet and AI? You can absolutely start with just the spreadsheet and self-reported data — it'll still give you useful patterns. GA4 adds the layer of tracking what happens before someone contacts you: which page they landed on, how long they stayed, where they dropped off. That context helps, but it's not required to get started.

What if my customers find me mostly through word-of-mouth and phone calls? Good question — this is actually really common for local service businesses. Self-reported data ("how did you hear about us?") becomes your primary source, and CallRail{:target="_blank"} solves the phone tracking side if calls are a big part of how you get business. AI can still find patterns in self-reported data once you have enough rows.

Is it safe to upload my customer spreadsheet to ChatGPT or Claude? Most small business owners are comfortable uploading a sheet with first names, revenue amounts, and channel sources. If you're concerned, use initials instead of full names, or remove the name column entirely — the channel and revenue data is what the AI actually needs to do the analysis.

How often should I run this analysis? Once a month is plenty for most small businesses. Set a recurring 30-minute calendar block, export your sheet, run the prompt, and note what changed versus last month. Consistency matters more than frequency here.

Do I need a paid plan for ChatGPT or Claude to upload files? Yes — file uploads require a paid plan on both ChatGPT{:target="_blank"} (ChatGPT Plus, $20/month) and Claude{:target="_blank"} (Claude Pro, $20/month). The free tiers let you paste data in as text, which works for smaller datasets. If your sheet is under 50 rows, pasting it directly into the chat window is a reasonable workaround.

Was this useful? ·