⚡ Powered by Finn · Day 122 of 365
122

Your Ad Is Approved: The ManyChat Alternative I Built Myself

Two months of uploading documents to a portal that kept asking for the same documents, and it ended with four words in Ads Manager: your ad is approved. I read it twice. Then I checked whether the bot on the other end of that ad was awake, because everyone who runs WhatsApp marketing reaches for ManyChat, and the ManyChat alternative sitting behind my ad is one I built myself.

Why Meta, why WhatsApp

I mentioned back on Day 64 that Jan and I spent 12 months in a previous business building a WhatsApp ad platform. It did not work as a business, but it was by far the best prospecting tool I have ever used. Meta ads into a WhatsApp conversation give you control over direct response marketing that nothing else I have run comes close to, and direct response is the only type of marketing I really do. You write an ad, someone taps it, and thirty seconds later they are talking to you. Not filling in a form. Talking, and in this case directly with my AI agent that I've been building with and honing for the last 7 or 8 months. My voice, and knows exactly what I'm working on and what I can handle.

The catch, as I wrote in June, is that Meta would not verify my business. A company registered in one country, operating from another, run by one person, does not fit their form. Three rejections but spaced out over 3 to 4 weeks at a time, then a request for a document that does not exist. By Day 108 I had stopped waiting and laid out three ways around it, promising the next post on this would say which one won.

This is that post. The winner was the boring one: throw in the towel and pay 360dialog, a WhatsApp Business API provider, $49 a month to carry the Meta relationship for me. They hold the connection to Meta; I hold everything else. Two months of blocked, solved for less than a dinner out in Switzerland. It is exactly the kind of money I should have spent in May instead of fighting a verification process that has no phone number and no case worker.

The important part of that sentence is "I hold everything else." I did not sign up for ManyChat or any of the other chat tools on the market. I have used them. Clunky, over-complicated, and you are renting someone else's idea of a conversation. 360dialog only carries the messages. The brain is mine.

What the qualifier actually does

A prospect taps the ad. WhatsApp opens with a pre-filled first message. Within a few seconds my agent replies, warm, short, one question at a time. Over the next five or six messages it weaves in the five things I need to know before a call: what the business does, roughly how many people work there, which manual job hurts the most, whether there is budget for a fix, and whether the person texting can actually decide. No forms, no question list, just a conversation.

When someone fits, it asks for two or three call windows and I get an email with their profile, the five answers, and the full transcript. When someone does not fit, it closes politely and leaves the door open. There is an inbox where I can take over any conversation myself mid-chat and hand it back after. And the part I like most: its entire behaviour lives in one plain-English document. I edit the document, run one command, and the live bot changes thirty seconds later. When I found it being too chummy with a prospect ("Nice one!"), I rewrote two lines about tone and the problem was gone.

It asks better questions than I do on a live call, and it never gets tired of the 90 percent who go nowhere.

The reasons to build this yourself instead of renting it stack up fast. A few: 1. You can change the offer any time you want, on command 2. It's 24 x 7, and isn't ever offline 3. You can use your own voice easily, built from your writing, using your rules 4. It knows your business, not built for a form that handles thousands of others 5. You want to add a feature, you add it. 6. You can build in your own custom workflows and customisations 7. Every correction you make is IP you keep 8. You own all the leads and aren't priced for junk

Not to mention, it's dead easy to change and correct.

The steps, if you want to copy this

What to do, not how to do it:

1. Buy a phone number. Mine cost a few dollars at Twilio, but you can google and find another service quickly. 2. Sign up with a WhatsApp provider like 360dialog and move the number in. This is the step that carries the verification burden for you. 3. Fund the balance. Zero balance silently stops your bot from replying, which is a terrible way to find out. 4. Point the number at your own bot, whatever you have built or had built. 5. Build the click-to-WhatsApp campaign, publish it paused, tap the ad yourself from your own phone, and only unpause once the whole chain answers you.

Our first ad: 43 conversations in a day

The first campaign went live across four countries in the Gulf and Asia at $25 a day. Day one: 43 conversations for about $20 of spend. Under fifty cents a conversation. I let myself enjoy that for roughly an hour. It was the first day, they were junky leads but it only cost $20 to do some good testing. The bot handled all 43 without a single edit to its brain.

Then I read the conversations. Around 70 percent were ghosts: tapped the ad, sent the pre-filled message, never answered the agent's first question. Profile names like user642631 and strings of random letters. One number came from a country the ad never ran in, which should be impossible with enforced geography. Out of 43, exactly two were worth anything: a facilities manager at a global property firm, and one polite thirteen-message conversation where the agent correctly worked out we were not a fit and said so nicely.

Why we killed it

Suspiciously cheap conversations are not a win, they were in this case a test. Meta was buying my taps from junk inventory: Audience Network placements running the ad in corners of the internet nobody chooses to be in, plus the Advantage+ audience setting, which treats your targeting as a suggestion rather than a rule. Fifty-cent conversations from throwaway accounts cost more than five-dollar conversations from real owners, because the real cost is my agent's time and my attention on the inbox.

I paused the campaign at 48 hours. One expensive lesson on the way out: ad creatives hold your WhatsApp number from the day you build them, so when I deleted the old number from the previous provider, the live ad died with it, unfixable. When the number changes, rebuild the ad fresh. Never edit the poisoned one.

What we are testing now

Version two is built and sitting in review, paused. Singapore and Hong Kong only, dropped the cheap-CPM countries where delivery drifts. Facebook Feed and Instagram Feed only, no Audience Network, no Reels. Advantage+ audience switched off, targeting as a rule this time. People living in the location, not passing through it. Same $25 a day. I'm running in these countries because I'm currently on GMT +8 in Indonesia, so the time zone is easy to hop on a conversation if I need to.

And a scoring change that matters more than any setting: the ad now gets judged on qualified-lead emails, never on conversation volume. Against a $4,995 a month package, I do not need 43 conversations a day. I need one real one.

I built the WA qualifier app in a morning, it's what I do now. Build things quickly. If they don't work out, I junk them and start again. This one I keep.

This is Day 122 of building in public. If v2 sends me one qualified-lead email this week, the two months were worth it.

Day 122 of 365.

Get the next build-in-public post by email

One short dispatch most days — the AI ops builds, what's working, what isn't. No spam.

← Day 121 All posts

Follow the BIP

AI Deployment as a Service. One workflow at a time.

Book 15 minutes. We see if your workflow is one we'd build.

Schedule a call