Before you start: what you need to know
While the pilot lasts: accept Meta’s invitation
The app DarkFunnels uses to connect to Meta doesn’t have Meta’s approval for everyone yet, and in the meantime Meta only lets people the app invited connect. So, the first time:Send us your Facebook profile
Accept the invitation
developers.facebook.com/requests with that Facebook account and accept
the DarkFunnels invitation. If Meta asks you to register as a developer, do
it: it’s free and doesn’t publish anything in your name.Connect your ad account
Open Ads

The page lives under Sales, right below Results.
Click «Connect Meta»

Without a connection, the button says «Connect Meta». Once connected, it says «Meta connected».

The sheet before connecting. We only ask for permission to read: we don't create, change or publish anything.
Confirm it's your Facebook account

Meta's window. Your name and photo appear here; in the screenshot they are covered.
Choose your Pages

The Pages: from them DarkFunnels reads the organic engagement of the posts your ads use.
Review the permissions and save

The four permissions. «Read user content» is what lets us count the post's reactions and comments: we count how many there are, we don't read what they say.
Click «OK»

Meta's confirmation. The «go to business integrations» link is where, from Facebook, you can remove DarkFunnels' access whenever you want.
Check that it worked

Connected. From this same sheet you reconnect or disconnect.
What you see once it’s connected

The page with Meta connected (demo data). At the top, the spend and the cost per chat; below, «Where to invest» and the table sorted by yield.
- The top strip adds two figures: Meta spend and Cost per chat (all the spend divided by all the chats from those ads).
- Each ad shows its name in Meta and its thumbnail, what it spent in the period (with its clicks underneath), the reactions, comments and shares it brought in the period (underneath, with a purple dot, its post’s organic ones: those that came on their own, unpaid, since it was published), and what each chat, each qualified lead and each sale cost you, plus the ROAS (what it sold divided by what it spent).
- Ads from those accounts that spent without bringing a single chat also show up, with 0 chats (for example, campaigns that aren’t click-to-WhatsApp), when you look at all funnels. Their spend counts toward your average.
- Yield and the Where to invest sentence, explained below.
- Country: if your contacts come from more than one country, a selector shows up in the toolbar. When you pick one, the page counts the chats from contacts in that country and the spend Meta delivered there.
Yield: which ad is your best one
Yield answers a single question: for each sol (or dollar) you put into this ad, how much does it bring you compared with an average one across all your ads? “2.0×” is double; “0.4×”, less than half. The table comes sorted by this column: the best one on top. What counts as “what it brings you” depends on what your business already measures:- Invest more: it yields more than your average with good confidence (80% or more) and is still running (it spent in the three days before the last update). It’s the candidate for a bigger budget.
- Iterate: it yields more than your average with the same confidence, but is no longer running. It’s the base for your next variations: the same hook, another format or copy.
An ad’s detail sheet
Click an ad’s name to open its detail sheet. On the left, What they saw: the video (or the image), how many times it was shown and the people who reacted. On the right, What happened: wrote → qualified → bought, what each step cost, and on one line what it spent, what it brought in, the ROAS and its yield.
«What happened»: each step with its cost, the money on one line and, below, how much it brings per S/ 100 against your average.

«The people» per 1,000 times shown and, below, the post's paid and organic engagement.
How often it updates
- When you connect, DarkFunnels brings in the last 93 days. It takes a few minutes.
- After that, once a day, on its own. Each day it also re-reads the last 7 days, so if Meta corrects a recent day’s spend, the correction arrives on its own. The Connection with Meta sheet says when the last update was.
- Days follow your ad account’s time zone. Today’s spend is completed by the next update: don’t expect it to match Ads Manager minute by minute.
- The post’s engagement (the organic part) is the total since it was published, read in the daily update.
When to reconnect
Reconnecting is the same steps as above, starting with the button at the top (Meta connected or Reconnect Meta) → Reconnect. Since you connected before, Meta asks whether you want to continue with your previous settings: Continue reuses what you already accepted and finishes there; Edit settings takes you to choose the Pages and review the permissions again. If the detail sheet asked you for your Pages permission, use Edit settings.
When reconnecting: «Continue» repeats what you already accepted; «Edit settings» lets you review Pages and permissions.
- Every 90 days. Meta grants access to the data for 90 days from when you accept. The sheet says “The connection expires on …” and, in the last 14 days, it warns you so you renew it before it’s cut off. That warning shows up inside Meta connected: open it every now and then.
- If Meta stops accepting the connection, for example because you removed the permission from Facebook. The button at the top changes to Reconnect Meta and the sheet explains that Meta no longer accepts the connection.
- If the detail sheet asks you to. If you didn’t grant the Page permissions (or connected before we asked for them), the Facebook part of Since it was published says “Reading it needs your Pages permission.” with a Reconnect button. When you come back, go through Edit settings and accept the Page permissions.
Disconnect
Meta connected → Disconnect, and confirm. DarkFunnels stops reading your accounts, and the page stops showing the spend, the costs, yield and the thumbnails. What we already brought in stays stored: if you reconnect, it shows up again. That cuts the connection on DarkFunnels’ side. To also remove its access on Meta’s side, go to Business integrations on Facebook (the link Meta shows you when connecting) and remove DarkFunnels.What we read from Meta and what we don’t
We read, once a day: each ad’s spend, impressions, clicks and engagement, by day and by country; the names of the ad, the ad set and the campaign; and the totals of the post each ad uses (reactions, comments and shares on Facebook; likes and comments on Instagram). We store a copy of each ad’s thumbnail and, the first time you open its detail sheet, of its video (if Meta shares it), to show them to you without depending on Meta’s links, which expire. We don’t: we don’t create, change, pause or publish anything. For comments we only count how many there are; we don’t read what they say. The permission Meta gives you is stored encrypted. We also store the name and Facebook ID of whoever connected, and the connected ad accounts (name, ID and currency). The figures are only visible to the people in your business with access to Sales. To have us delete what we’ve already stored, write to us.Common problems
It says «Not available for your account yet»
It says «Not available for your account yet»
Meta won't let me continue or says the app isn't available
Meta won't let me continue or says the app isn't available
developers.facebook.com/requests and that you’re using that same Facebook
account in Meta’s window. If another name shows up in Continue as …?, use
Log in to another account.It says «It didn't connect: you canceled in Meta or didn't grant the permission.»
It says «It didn't connect: you canceled in Meta or didn't grant the permission.»
It says «Meta didn't accept the connection» or «Meta didn't respond as expected»
It says «Meta didn't accept the connection» or «Meta didn't respond as expected»
It says «In your ad accounts we couldn't find the ads that bring chats to this business»
It says «In your ad accounts we couldn't find the ads that bring chats to this business»
It says «We don't know yet which of your Facebook's ad accounts belongs to this business»
It says «We don't know yet which of your Facebook's ad accounts belongs to this business»
It says «You didn't choose any ad account»
It says «You didn't choose any ad account»
It says the connection link isn't valid, was already used or expired
It says the connection link isn't valid, was already used or expired
An ad shows no spend («—»)
An ad shows no spend («—»)
The spend doesn't match Ads Manager
The spend doesn't match Ads Manager
I don't see Facebook's organic engagement
I don't see Facebook's organic engagement
The sheet says «The last spend update failed: …»
The sheet says «The last spend update failed: …»
Below the table it says «couldn't bring in the Meta spend»
Below the table it says «couldn't bring in the Meta spend»
The detail sheet says «We couldn't bring this ad's video from Meta.»
The detail sheet says «We couldn't bring this ad's video from Meta.»
ROAS shows «—» with «other currency» underneath
ROAS shows «—» with «other currency» underneath
What this page doesn’t do
- It doesn’t touch your ads, your campaigns or your budget: it only reads.
- It doesn’t count as a sale anything that wasn’t registered as a sale in DarkFunnels. It counts registered sales (by your agent or your team), collected or not, the first one up to 30 days after the click.
- It doesn’t convert currencies.
- It doesn’t read ad accounts that aren’t connected.