How Pilot works

No technical background needed. This page explains what Pilot does, walks you through setup one step at a time, and tells you exactly what we can see and what we charge for. Setup takes about 15 minutes, and one step needs help from whoever built your website.

The short version

You sell something online. Pilot is a robot marketing assistant that tries to get you more customers. It reads your website, figures out who your buyers are, and suggests things to try — posting in the right places, fixing your wording, finding people already complaining about the problem you solve.

You pay nothing up front. Every link Pilot creates is a special tracking link. When someone clicks one and then buys from you, we can see that it was us. At the end of the month, we take 15% of only those sales. If Pilot brings you nothing, you pay nothing.

Sales that came from anywhere else — your existing customers, word of mouth, Google, your own posts — are yours. We don't see a penny of those, and we'll show you the difference.

An analogy, if that helps

Think of a salesperson who works purely on commission. They don't charge you a salary. They hand out business cards with their own name printed on the back. When a customer walks in holding one of those cards, everyone agrees that salesperson earned their cut. A customer who walks in with no card was never theirs to claim.

Pilot is that salesperson. The tracking link is the business card. Step 4 below is what prints your name on the back — without it, every customer arrives without a card, and Pilot never gets paid. That's why it's the one step that matters most.

Setting it up

Create your account

Click Add your product at the top of any page. You'll need an email address and a password of at least 8 characters. That's it — no credit card, because there's nothing to charge yet.

Give us your website address

Type in the web address where a customer would land — something like yourbusiness.com. Use the page that actually explains and sells your product, not a blog post or a login screen.

Pilot will read that page, the way a customer would, and take about thirty seconds to work out what you sell, who buys it, and what those people would type into Google when they have the problem you solve. You'll see its summary on the next screen. Read it. If Pilot misunderstood your product, real customers are misunderstanding it too — that's free feedback about your website before you've spent anything.

Connect Stripe so we can see sales

Stripe is the service that takes card payments for most small online businesses. If you get paid online, you very likely have a Stripe account. Pilot needs to look at your sales — not touch them — so it knows whether its work made you money.

What we can see: that a sale happened, for how much, and when. What we cannot do: move money, issue refunds, charge anyone, or change a single thing in your Stripe account. This is enforced by Stripe itself, not by our promise.

Here's exactly what to click:

  1. Log in to Stripe and go to DevelopersAPI keys.
  2. Find Restricted keys and click Create restricted key. "Restricted" means limited — it's the whole point.
  3. Name it Pilot so you remember what it's for.
  4. Nearly everything in the long list should stay on None. Change only these two to Read: Charges and Balance.
  5. Click Create key, then copy the long code that starts with rk_live_.
  6. Paste it into Pilot's Setup page and click Connect Stripe.

Pilot will refuse a key beginning sk_ — that's the powerful kind that can move money, and we don't want the responsibility of holding one. If you paste the wrong one by accident, nothing breaks; you'll just get a message asking for the restricted kind.

You can delete this key from Stripe at any moment and Pilot instantly goes blind. You never have to ask us for permission to cut us off.

Add the tracking snippet — this is the one that needs a developer

Remember the business card. This step is what prints your name on it. It's a small piece of code that goes on your website, and it does exactly one thing: when someone arrives through a Pilot link, it quietly remembers that, and tells Stripe when that person buys.

It doesn't track people around the internet, doesn't set advertising cookies, and doesn't send anything anywhere. It stores one short code in that person's own browser, and it's forgotten after 90 days.

If you built your site yourself with something like Squarespace, Wix, WordPress or Shopify, there's a box in the settings usually called custom code, header code, or code injection. The first part goes there. The second part needs whoever handles your checkout.

The easiest thing to do is forward this to your developer:

Hi — I'm trying a marketing service called Pilot. It only gets paid on sales it can prove it caused, so it needs two small changes on our site. 1. Add this script tag to every page, in the site header: <script src="https://pilot.madisonon.com/assets/p.js" async></script> 2. When we create the Stripe Checkout Session or PaymentIntent, include the tracking code in the metadata. On the browser side it's available as window.Pilot.ref() — send it to our server with the checkout request, then on the server add it to the Stripe call: metadata: { pilot_ref: } That's the whole integration. If the value is empty, nothing breaks — the sale just doesn't get attributed to Pilot, which means we aren't charged for it. Thanks!

If you skip this step entirely, Pilot still works and still gives you ideas — it just can't prove any sale was its doing, so it never bills you. It fails in your favour. That's also why nobody here will chase you about it.

Set your spending limit

Most of what Pilot suggests is free — writing, posting, replying to people. Some ideas cost money, like a small ad test. Pilot can never spend money you haven't put in the budget box, and it will never spend its own and bill you later.

Leave the budget at 0 if you want. Everything free still runs. You can raise it any time.

There's also an Autonomy setting. Leave it on "I approve everything" until you trust it. Nothing gets published in your name without you clicking approve.

Approve the first experiments

On your dashboard, click Propose experiments. After a minute you'll see a few suggestions. Each one tells you: what it is, why Pilot thinks it'll work, what it costs, and — importantly — what number would count as success, decided before it runs. That last part stops anyone from declaring victory afterwards.

Approve the ones you like. Reject the rest; rejecting teaches it what you don't want. Nothing happens to an experiment you ignore.

Post the drafts yourself

For some experiments Pilot writes the actual text — a comment, a caption, a description — with the tracking link already in it. You click Copy, paste it where it goes, and click I posted this so Pilot knows to start counting.

Pilot will never post to Reddit for you, at any setting. There's a proper explanation of why further down, and it's for your protection rather than ours.

Read the weekly note

Once a week Pilot writes you a short summary: what worked, what didn't, what's next. It's told to report a bad week plainly rather than dress it up, because a marketing report you can't trust is worse than no report.

The Revenue page lists every single sale Pilot is claiming, with its Stripe ID. You can look each one up in your own Stripe account and check it yourself. We'd rather you did.

What the words on your dashboard mean

You'll seeIt meansDo you pay?
direct Someone clicked a Pilot link and then bought, and the sale arrived carrying our code. No guesswork — it's stamped on the payment. Yes. 15% of this sale.
assisted Someone clicked a Pilot link recently and later bought, but the code didn't survive the journey. Probably us. Not provably us. No. Never billed.
organic A sale with nothing to do with Pilot. No. Entirely yours.

"Assisted" is the interesting one. Plenty of marketing tools would bill you for it and call it attribution. We show it to you and charge nothing, because a fee you can't verify is a fee you'll eventually resent.

Honest answers to the obvious questions

Can you take money out of my Stripe account?

No. The key you give us is read-only — Stripe itself blocks anything else, so this isn't a matter of trusting us. We can see that sales happened. We can't touch them. And you can revoke the key from your Stripe dashboard in about ten seconds, without telling us.

Why won't it post to Reddit for me?

Because automated promotion is the fastest way to get your account banned and your product's name blocked by the moderators of exactly the communities you wanted to reach. It's a rule of the platform, not a feature we haven't built. Pilot finds the conversations and writes you a reply that says openly that you made the thing — you post it, as yourself.

Will you email thousands of people on my behalf?

No. Mass cold email from a shared service gets that service marked as spam, and then nothing reaches anyone's inbox. Pilot writes outreach; it goes from your own email address, to people you have an actual reason to contact, a few at a time.

Why do I need $200 of sales in the last month to start?

Because Pilot is free and costs us real money to run. Working for a share of nothing doesn't add up, and if we let everyone in, we'd go broke serving businesses we couldn't help. The bar means everyone here gets proper attention. If you're not there yet, come back when you are — there's nothing to cancel in the meantime.

What if it just doesn't work for my product?

Then you've lost nothing but the setup time, and you'll know within a few weeks. Sometimes the honest answer is that the problem isn't marketing — it's that not enough people want the product yet. Pilot is built to say that in the weekly note rather than keep generating activity to look busy. No marketing fixes a product nobody wants, and pretending otherwise would just cost you months.

How do I stop?

Delete the Stripe key, or just stop approving experiments. There's no contract, no notice period, and no one will call you. Anything already earned and invoiced stays owed; nothing new accrues.

Still with us?

Steps 1 to 3 take about ten minutes. You can do step 4 whenever your developer has a moment.

Add your product