How I Get a Sales Report From AI Every Morning

By Dr. Destini Copp·Creator's MBA·October 13, 2026·8 min read
TL;DR

Every morning at 7:20, Claude builds my daily sales report for Creator's MBA. It reads yesterday's ThriveCart sales from Airtable, my Meta ad results and my Kit email numbers, and it works out which ad each buyer first came from. It checks the sales data for missing orders before it trusts anything, updates one report page and sends a short version to my phone. It only reads and reports, and I decide what to do with what it shows me.

Through September 2026, I tracked my daily sales by hand every morning. I'd go into ThriveCart, pull the data, upload it to Claude, connect my tools and ask the same questions I asked the day before.

Those were the exact same steps every single day. So I wrote them down once and turned them into a scheduled task, and now the report runs at 7:20 every morning and covers yesterday only.

This post walks through how the sales get to the report, what it pulls, how it ties each sale back to the ad the buyer came from and the checks it runs before it trusts any of the numbers.

How the sales get to the report.

Every ThriveCart sale gets written into an Airtable table automatically through a small automation. The report reads from that table. I chose this setup over having Claude read my ThriveCart sale notification emails out of Gmail.

I also loaded 12 months of sales history into the table, going back to September 2025. That way the report knows what a Black Friday week or a summit week looks like when it compares one day to another.

The rest of the data comes from the tools I already have connected to Claude. That's my Meta ad account for ad results and my email platform, Kit, for email numbers and opt-ins.

What it pulls every morning.

I

Yesterday's sales

  • Gross sales and net sales after affiliate commission.
  • Paid orders, with free registrations counted on their own line. I run a lot of free summit and event signups and those are list growth, so they get their own count.
  • What sold by product. Order bumps and upsells show up as their own lines, and membership rebills are kept apart from new sales.
  • Which affiliates drove sales.
II

How yesterday compares

It compares yesterday against the average of the last 14 days and against the same weekday one week earlier. If a launch or a free event was running during either of those stretches, the report says so, since those weeks can't be compared fairly to a regular week.

III

Month to date

It lines up this month so far against the same stretch of last month. That covers gross, net, paid orders, free registrations, average order value, ad spend and return on ad spend. It also shows how much of the month came from the top two days and how many days sold nothing.

IV

Meta ads

Spend, clicks and cost per result at the campaign level and the ad level, compared with the past week. It uses net revenue to work out return on ad spend. Meta's own purchase count usually comes in lower than my real orders, so the report also shows ad spend divided by my actual paid orders.

V

Email

Open and click rates for yesterday's broadcast, plus subscriber growth from Kit.

Tying each sale back to an ad.

My Meta ads send people to opt-in pages, and the sale usually happens days later from my emails. So the ad and the sale are often several days apart.

To connect them, my opt-in pages pass the ad name into Kit. Kit saves which ad each person came from as part of their subscriber record.

Here's what the report does with that every morning.

I

It saves every ad opt-in

Each person who opted in from an ad goes into a table with their email and the ad name.

II

It matches each paid order to an ad

For every paid order, it looks up the buyer's email in that table. The sale gets credited to the most recent ad they opted in from before they bought.

III

It builds a 30 day table for each ad

For each ad, I see spend, opt-ins, cost per opt-in, paid orders, net revenue and return on spend over the last 30 days.

I also wrote a few rules into this section so the report doesn't jump to conclusions. It says plainly that most buyers buy days after opting in, so a newer ad with no sales yet hasn't failed. It won't call an ad a winner based on one or two sales.

And if a buyer used a different email at checkout than the one they opted in with, the two won't match. The report says that a sale with no match isn't proof the buyer didn't come from an ad.

The checks it runs before it trusts the numbers.

Before the report shows me a single number, it checks that the sales data is complete. Here's why I added that. On September 13, 2026, the automation that writes sales into Airtable wasn't running for the early part of the day, and the table was missing $631 and ten orders.

So now every report runs these checks first.

  • Order number gaps. ThriveCart order numbers run in sequence, so it looks for any numbers that are missing.
  • The first order of the day. My sales come in around the clock, so it checks that the first order shows up shortly after midnight.
  • Membership rebills. It checks that the rebills showed up.
  • Blank rows. It looks for rows in the table with nothing in them.

If any of these checks fail, the report says so at the top, above everything else. That's normal upkeep for any sales feed.

What it sends me.

The report lives on one branded page that updates in place every morning, so I open the same link every day.

The page starts with number tiles for the main figures. Then there's a 30 day revenue chart and the tables for products, affiliates, ads and the month so far. At the bottom are two short written sections called what's working and where to look.

It also writes the day's numbers into a Daily Snapshot table in Airtable. That table grows by one row every morning, so my trend history builds itself without me doing anything.

I also get a plain text version as a notification on my phone.

The rules I wrote into it.

The instructions for this task are written in plain English, the same way I'd explain the job to an assistant. These are the rules that shape how the report reads.

  • Plain everyday language. The same words I'd use if I were telling you about my sales out loud.
  • Real numbers only. If a number isn't available, the report says it isn't available. It never guesses.
  • Short when there's not much to say. If not much happened yesterday, the report is short.
  • Read only. The report never changes anything. It doesn't edit an ad, a page, an email or a record in my sales table.

What I do with it.

I read it and I decide. There's no fixed next step built into the report, because what I do depends on what it shows me that day.

One example is when the report led me to make changes to my funnels. Claude helped me build those changes, including emails in Kit and updates to my sales pages, while I told it what I wanted. But the deciding was mine.

HobbyScool has its own version of this report too. It runs in a separate Claude account, because one Kit connection can only point at one brand's Kit account.

How to set up your own.

My report has a lot of pieces now, but you don't need all of them on day one. I'd start simpler and add as you go.

  1. Get your sales somewhere Claude can read them. Mine go from ThriveCart into Airtable automatically. Whatever you sell through, you want each sale to land in one table on its own.
  2. Start with three things. Yesterday's sales, what sold and your ad spend. Write those steps down in plain English and pick a time for it to run.
  3. Add a check for missing sales. Even a simple one, like looking for gaps in your order numbers, tells you whether to trust the rest.
  4. Add comparisons next. Yesterday against your recent average, and this month against last month.
  5. Add ad matching last. Your opt-in pages need to pass the ad name into your email platform first, so set that up before you ask the report to match sales to ads.

If you want to see every scheduled task I run across both businesses, start with what AI can do for your business, the first post in this series. If you'd rather start with something smaller than a sales report, read your first AI scheduled task, where I walk through the weekly newsletter draft. And the member audits post covers another task that compares who paid against who has access.

Free diagnostic tool

Find out which numbers to watch first.

A sales report is most useful when you know which part of your business needs the most attention. The free Creator Growth Flywheel Scorecard takes about two minutes and shows you where to start.

Take the free scorecard →

Frequently asked.

How can AI give me a daily sales report for my online business?

I set up a scheduled task in Claude that runs at 7:20 every morning. My ThriveCart sales go into an Airtable table automatically, and the task reads that table along with my Meta ad account and my Kit email numbers. It covers yesterday's sales, what sold, which affiliates drove sales, my ad results and my email stats, and it puts everything on one report page.

How do I track which Facebook ad a sale came from when people buy days later?

My opt-in pages pass the ad name into Kit, so Kit saves which ad each person came from. Every morning my report saves each ad opt-in to a table, then for each paid order it looks up the buyer's email and credits the sale to the most recent ad they opted in from before buying. A buyer who used a different email won't match, so a miss isn't proof they didn't come from an ad.

Why doesn't Meta's purchase count match my real sales?

In my business, Meta's own purchase count usually comes in lower than my real orders. So my report shows Meta's numbers and also divides my ad spend by my actual paid orders. It uses net revenue after affiliate commission when it works out return on ad spend.

How do I know my AI sales report isn't missing orders?

Mine checks the data before it shows any numbers. It looks for gaps in the order numbers, checks that the first order of the day shows up shortly after midnight, checks that membership rebills came in and looks for blank rows. If any check fails, it says so at the top of the report.

What should I put in my first AI sales report?

Start simple with yesterday's sales, what sold and your ad spend. Once that runs well, add a check for missing orders, comparisons to your recent average and last month, and then matching sales to ads. You don't need everything on day one.


Dr. Destini Copp
Dr. Destini Copp
Digital product strategist · MBA professor · Podcast host

Dr. Destini Copp helps digital product creators build sustainable, systems-based businesses through the Creator Growth Flywheel framework. She's the founder of Creator's MBA and HobbyScool, and has been teaching online business strategy for over a decade. Learn more →

Previous
Previous

How AI Finds Speakers for My Events

Next
Next

What Can AI Do for Your Business? Here’s Everything Mine Runs