You shipped a landing page with Lovable. It looks great. Now you need to collect signups. You could wire up a form service, set up a database, and connect an email tool. Or you could paste one script tag and be done in five minutes.

Here is how to add a waitlist with built-in referral tracking to your Lovable app.

Paste one script tag into your Lovable app. Add a widget container where you want the signup form. OperatorStack handles the form, referral codes, contact storage, and analytics. No backend, no database, no extra tools.

What You Get

When you add OperatorStack to your Lovable app, you get a waitlist signup form, automatic referral tracking with unique codes per signup, sharing links for Twitter, LinkedIn, WhatsApp, and email, cookie-free page analytics, and a unified contact list. All from one script tag.

Step-by-Step Setup

1

Create an OperatorStack account and project. Sign up at OperatorStack and create a new project. Enter your Lovable app's URL (the deployed URL, not the Lovable editor URL). This configures CORS so signups work from your domain.

2

Copy your script tag. On your project page, grab the embed snippet:

<script src="https://operatorstack.dev/os.js" data-project="pk_your_key"></script>
3

Paste it into your Lovable app. Open your project in the Lovable editor. You have two options:

Option A: Ask Lovable to add it. Prompt Lovable with: "Add this script tag to the head of my index.html" and paste the snippet. Lovable will place it in the right spot.

Option B: Edit manually. Open your index.html file and paste the script tag just before </head>.

4

Add the waitlist widget. Place this container wherever you want the signup form to appear:

<div data-os-widget="waitlist"></div>

If you are working in a React component (Lovable generates React), add it in JSX:

<div data-os-widget="waitlist"></div>

OperatorStack renders the form inside a Shadow DOM, so it will not conflict with your Lovable app's styling.

5

Deploy and verify. Hit deploy in Lovable. Visit your live site. You should see the waitlist form. Submit a test signup, then check your OperatorStack dashboard. The signup, referral code, and analytics data will all be there.

Using the SDK Instead

If you want a custom signup form that matches your Lovable design, skip the widget and use the SDK directly:

const result = await OperatorStack.joinWaitlist({
  email: userEmail,
  name: userName,
});

// Show sharing links after signup
const links = OperatorStack.getShareLinks(result.referral_code);

The SDK is available globally after the script tag loads. All signups feed into the same dashboard and contact list regardless of whether you use the widget or SDK.

The SDK exposes a ready Promise. If you need to call SDK methods immediately on page load, await OperatorStack.ready first. Inside event handlers (button clicks, form submits), this is handled automatically.

What About Analytics?

You already have them. The same script tag that powers the waitlist also tracks page views, unique visitors, referral sources, and conversion rates. No cookie banner required since the analytics are cookie-free by design.

Check the Analytics tab in your project dashboard to see where your traffic is coming from and what your signup conversion rate looks like.

Common Issues

Widget not showing up? Make sure the script tag loaded before the widget container. Placing the script in <head> is safest. Also verify your project key matches your OperatorStack project.

CORS errors in the console? Your deployed URL probably does not match the URL in your OperatorStack project settings. Update the project URL to match your Lovable deployment domain. Localhost always works for development.

Styles look off? The widget renders in a Shadow DOM, so your app's CSS cannot reach it. Customize the widget appearance from the OperatorStack dashboard instead.

Frequently Asked Questions

Does OperatorStack work with Lovable's deployment?

Yes. Lovable deploys to Netlify or its own hosting. The OperatorStack script tag works on any hosting provider since it loads from our CDN. No server-side configuration needed.

Will the script tag slow down my Lovable site?

No. The embed script is under 13KB gzipped and loads asynchronously. It will not block your page render or affect your site's load time.

Can I use OperatorStack with a custom domain on Lovable?

Yes. Just add your custom domain as the project URL in OperatorStack. CORS is configured automatically for your domain, and localhost always works during development.

Do I get analytics too, or just the waitlist?

Both. The same script tag that powers the waitlist also tracks page views, referral sources, and unique visitors with cookie-free analytics. No extra setup required.