MarketingBuddy
Growth

How to market an app you built with Lovable or Bolt.new

You shipped it in a weekend. Getting people to find it, sign up and pay takes different work. The marketing checklist for Lovable, Bolt.new and other AI-built apps, in the order that pays off.

MarketingBuddy team

6 min read

A browser window with three bars narrowing from visitors to sign-ups to paying customers, and a line rising out of it

Building is the fast part now. You can describe an app to Lovable or Bolt.new on Friday and have a working product with sign-in, a database and Stripe checkout by Sunday.

Then Monday comes, and nobody shows up.

That isn't because the app is bad. It's because the work that brings people to an app, and gets them to pay, is a different job from building it, and most AI-built apps ship with none of it in place. Here's the checklist, in the order that pays off fastest.

Why AI-built apps start behind on marketing

Most Lovable projects, and many Bolt.new ones, are single-page React apps built with Vite. The server sends one nearly empty HTML file, and JavaScript draws everything after it loads. That's fine for the people using your app. It causes three problems for everyone else:

  • Every page looks the same to a crawler. One title, one description, one share card, whatever the URL. Google renders JavaScript eventually, in a second pass, but link previews on X, LinkedIn, Slack or iMessage read only the HTML, and so do many AI search crawlers.
  • Nothing is measured beyond page views. Analytics was never told what a sign-up or a payment is, so you can't tell which post, ad or search brought the people who paid.
  • There's nothing to find. No blog, no comparison pages, no answers to the questions your buyers type into Google.

None of this takes long to fix. It just has to be done on purpose.

Step 1: Make your public pages readable without JavaScript

Do this first, because everything else you publish depends on it. You need four things on your landing, pricing and feature pages:

  1. Their own title and meta description, written for the person searching, not "Vite + React + TS".
  2. Static HTML at build time (prerendering), so a crawler sees the words without running your app.
  3. A sitemap.xml and robots.txt that list your public pages.
  4. An Open Graph image per page, so a shared link shows what the page is about.

You don't have to do it by hand. Give your AI coder a prompt like this one:

Make the public marketing pages crawlable. Give /, /pricing and each feature
page its own <title>, meta description, canonical URL and Open Graph tags.
Prerender those pages to static HTML at build time. Add /sitemap.xml and
/robots.txt that list them. Don't change anything behind sign-in.

If your builder can't prerender, move only the marketing pages to a framework that renders on the server, such as Next.js or Astro, and keep the app where it is.

Check the result with "View page source" on each page: you should see your headline in the HTML. Then submit the sitemap in Google Search Console and Bing Webmaster Tools.

Step 2: Measure the three events that matter

You don't need fifty events. You need three, sent to Google Analytics with GA4's recommended names:

EventWhen it firesWhat it tells you
sign_upAn account is createdWhich channels bring people who try it
begin_checkoutSomeone opens checkout or starts a trialWho gets close to paying
purchaseStripe confirms the paymentWhich channels bring revenue

Then wire up the two details AI-built apps usually miss:

  • Tie payments to people. Pass your user ID to Stripe Checkout as client_reference_id, and send the same ID to analytics as the GA4 user_id right after a Supabase (or any) sign-in. Now a payment in Stripe and a visit in analytics point at the same person.
  • Put UTMs on every link you post. utm_source, utm_medium and utm_campaign on every post, email and ad. Without them, most of your traffic lands in "direct" and nobody gets credit.

Stripe stays your source of truth for money. If analytics and Stripe disagree, Stripe wins. Our tracking checklist goes deeper on this.

Step 3: Write the pages your buyers search for

Search is the channel that keeps working after the launch buzz fades, and the pages that bring buyers to a small SaaS are predictable:

  • "[Competitor] alternative" and "[Competitor] vs [competitor]" pages. People typing these are already shopping.
  • "How to [the job your app does]" articles, with your app as the shortcut at the end.
  • Use-case pages: one page per kind of customer or job, written in their words.
  • The free tool itself. If you built a micro-tool (a calculator, a generator, a checker), give each variation its own page with a clear title. A single-purpose tool page is often the easiest thing on your site to rank.

Put the blog on your own domain (/blog), not on a separate platform, so every article builds your site's authority. Publish steadily (one good page a week beats ten rushed ones), and after four to six weeks open Search Console's Performance report. Queries where you sit at positions 8 to 20 are your best opportunities: improve those pages first.

Step 4: Launch everywhere once, then keep showing up

A launch gives you a spike and a few links. Do it on every site that fits: Product Hunt, Hacker News if it's technical, and the directories in our list of 40+ launch sites.

Then make it a habit:

  • Build in public on X and Threads: what you shipped, what broke, the numbers. Founders who build AI apps follow other founders.
  • Answer questions on Reddit and in communities where your buyers ask for help. Read each community's rules, help first, and mention your app only when it's the honest answer.
  • Reply more than you post. Twenty useful replies a day reach more of the right people than one more announcement.

Step 5: Follow up before the trial ends

Most people who sign up and leave were never asked to come back. Before you buy a single ad, set up four emails in your email tool:

  1. Welcome, sent right away, with one action to take, not a tour.
  2. The nudge, a day or two later, for anyone who hasn't reached the moment your app proves itself.
  3. Trial ending, three days before the card is charged or the trial expires.
  4. "Why did you leave?", after a cancellation. Turn on cancellation reasons in Stripe's customer portal too, so every cancel comes with a reason.

Our post on the first four email flows has what goes in each.

Step 6: Only then, a small paid test

Ads multiply what already works. Once your pages are crawlable, your events are firing and your emails follow up, run one small test:

  • Search ads on high-intent terms: competitor alternatives and the job your app does. $10 to $20 a day is enough to learn.
  • Judge it on paying customers, not sign-ups. A campaign full of free sign-ups who never pay is a cost, not a win.
  • Decide the stop line before you start: the most you'll spend and the cost per paying customer at which you pause it.

Once you have visitors, retargeting by recency is usually the cheapest next test.

The weekly hour

Marketing a small app is mostly a habit. Once a week:

CheckWhereWhat to do with it
Visitors, sign-ups, trials, paid, cancellationsAnalytics and StripeFind the step with the biggest drop and work on that one
Queries at positions 8 to 20Search ConsoleImprove those pages, or write the page that's missing
Which posts and replies brought sign-upsUTMs in analyticsDo more of what worked
Why people cancelledStripe's cancellation reasonsFix the top reason, or say so on the pricing page

Where MarketingBuddy fits

MarketingBuddy gives your AI the marketing side of your app. It reads Stripe, Google Analytics and Search Console, hands your AI coder ready-made prompts for the tracking pixel and a blog endpoint, writes the articles and the trial emails, and runs small ad tests with a budget limit. Nothing is sent, posted or spent until you approve it. See how it works for SaaS and web apps.

  • Lovable
  • Bolt.new
  • SaaS
  • Startups
  • SEO
  • Launch

Let your AI run the marketing. You keep the final say.

Connect your ads, analytics, store and email, and approve every change before it goes out.

Join the waitlistMeet the agents

$1 for 14 days, then $49/month. Cancel anytime.

All posts