Skip to content
For agencies

Meta ads reporting for agencies: every client gets its own project

CAPI Platform (capip.uz) is a reporting system for agencies that run Meta ads: every client is opened as a separate project. A project has its own ad account, CRM (Bitrix24, amoCRM or capiCRM), spend-to-sale report, CAPI signals and Telegram chats. The owner sees every project; everyone else, admins included, sees the ones opened to them: a client’s staff only their own, a sales manager only capiCRM. One Meta system-user token serves the projects inside one organisation.

  • Every client has its own ad account, CRM, report and Telegram chat
  • A client sees only its own project, never another client’s
  • One Meta system-user token for the projects of one organisation
  • The report does not stop at the lead: qualified leads, sales, CAC and ROAS
Four tiles of a driving school's ad report: spend $885, ad leads 863 (CPL $1.03), qualified leads 335 (CPQL $2.64), sales 36 (CAC $24.58).
One client, one project. Driving school, 2–8 October 2026: spend, ad leads, qualified leads and sales. A screen from the product.
A familiar situation

The client asks about sales. You only have Ads Manager

The agency sees the ad account; the client’s sales team sees the CRM. The monthly report turns into gluing the two together by hand: screenshots from Ads Manager and an Excel export from the CRM.

The chat is an illustration; the numbers are from a real report (a driving school, 2–8 October 2026). That week the CRM had 36 sales; on its own, Meta saw 863 leads and none of the sales. Once a client is connected as a project, the agency and the client answer this question from the same report.

Client
  • Your report says 863 leads. I don’t see them in my sales.
  • Cost per lead is $1.03. How many of them bought is in the CRM. Can you export it?
  • The managers are busy. Aren’t you the ones who should tell me which ad sells?
  • For that, the CRM outcome has to sit next to the ad.
What to show a client · learning centre, 2–8 October 2026

A qualified lead costs $2.20 in one creative and $71.40 in another

The second project is a learning centre. In the same week it spent $2,470 and got 685 leads (CPL $3.61): 330 qualified (48%) and 134 junk. In Ads Manager both creatives simply bring “leads”. Add the CRM stage and the gap is 32 times: a qualified lead costs $2.20 in one creative and $71.40 in another. The weekly call with the client is no longer about the number of leads; it is about this table.

  • Whether a lead is qualified is decided by a CRM stage, not by the agency or the client. The stage is set separately in every project.
  • Two creatives with almost the same cost per lead ($2.79 and $2.97): 0 qualified out of 14 leads in one, 18 out of 24 in the other.
  • You move budget by qualified leads and sales, not by cost per lead — and the client can see why.
More about the report
Two creatives in a learning centre's report: a qualified lead costs $2.20 in one (85 qualified of 94 leads) and $71.40 in the other (2 of 24).
Learning centre, 2–8 October 2026: two creatives, a qualified lead at $2.20 and at $71.40. A screen from the product.
Project

What does each project keep to itself?

A project is the space of one business. The organisation is your agency’s workspace on the platform: the team and all its projects live in it. Numbers, leads and chats never mix between projects; the one thing that can be shared is the agency’s Meta token, covered below.

Meta connection

One Meta token, several clients

When one agency system user serves every client, there is no need to paste its token into each project again: connecting a new project, you choose “another project’s token in the organisation”. The token is stored encrypted and never leaves the organisation.

  • One condition: the client’s ad account and Page must be assigned to that system user.
  • The token is used only by projects of one organisation; it never reaches another organisation.
  • Which ad account and Page a project gets is chosen only by people who see every project. A team member limited to one client cannot attach another client’s account.
  • A signal goes to the dataset set in its own project: each client’s sales reach that client’s own Pixel.
Which permissions are needed
The CAPI event log: Purchase, Lead and QualifiedLead events sent to Meta, each with the status "Sent".
The CAPI event log of one project: time, event, status. Every project has its own log. A screen from the product.
Roles

Who sees what?

A role is given for the whole organisation; the list of projects is a separate setting. Only the owner always sees every project; for everyone else, admins included, the “Projects” button opens all of them or only the ones they need.

RoleWhich projectsWhat they can doUsually given to
OwnerAllEverything, including assigning rolesThe head of the agency
AdminAll, or only those opened to themSettings, connections, managing ads; invites and removes members if every project is open to themLead media buyer, account director
MemberAll, or only those opened to themChanges settings; does not pause or enable adsThe media buyer who runs the project
ViewerAll, or only those opened to themRead onlyThe client’s director or marketer
Sales managerAll, or only those opened to themcapiCRM only: leads, deals, tasks. No ads, no reportsThe client’s sales team, if the client works in capiCRM

Pausing and enabling ads from the table is open to owners and admins only (the Meta token needs the ads_management permission); the log keeps who paused what. A new project is created by the owner, or by an admin or a member who has all projects open. Phones and e-mails read from an outside CRM are kept only as a hash and a masked number, so nobody sees a full number in the report, whatever their role.

The client’s view

Give the client their own project instead of screenshots

You invite the client’s director as a viewer and open only their project. On their own phone they see the same report you do: spend, leads, qualified leads, sales, CAC. Your other clients do not exist for them — not in the project list, not in the report. The screen shows the driving school project’s report for the week of 2–8 October 2026.

  • The invitation is a link: it is tied to the invited e-mail address and valid for 14 days, and you send it yourself.
  • Someone without an account signs up with that address through Google; someone with an account signs in and accepts.
  • If the client works in capiCRM, its managers get the sales manager role and see only the CRM, at crm.capip.uz.
  • The report opens in a browser, with no separate app to install; the interface is in Uzbek, Russian and English.
The report on a phone screen: spend $885, ad leads 863, qualified leads 335, sales 36, and the funnel from leads to qualified leads to sales.
Qualified leads335
Sales36
A new client

How do you add a new client?

The order is the same for every client, and the three days of set-up consist of these same steps. Do it yourself, or leave a request and we will do it.

  1. 1

    Create a project

    Name it after the client. Set the report currency, the time zone and the monthly ad budget.

  2. 2

    Connect Meta

    Paste a token or choose the token of another project in the organisation. Then pick this client’s ad account, Page and dataset (Pixel).

  3. 3

    Connect the CRM — day 1

    Bitrix24 needs an inbound webhook URL, amoCRM a long-lived token; a client with no CRM gets capiCRM. The last 30 days of history load into the report; old leads are not sent to Meta.

  4. 4

    Tie stages to signals — day 2

    Which stage is a qualified lead and which is a sale is decided together with the client. That definition is what you later rely on in any argument about lead quality.

  5. 5

    Send a test signal — day 3

    It checks the token, the dataset and the path. After that Lead, QualifiedLead and Purchase go to Meta by themselves, each visible in the log with its status.

  6. 6

    Add the chats and the people

    Connect the weekly report to the client’s group, and the daily report and alerts to your own internal chat. Invite the client’s staff by link and open only this project to them.

Now · 30 days

Two projects together: $13,613 of spend, 15,613 CRM leads

Two projects have been running on the platform since September 2026: a driving school and a learning centre. Each is a separate project with its own CRM and its own ad account. Below are their numbers for 9 September – 8 October 2026, added together.

projectsa driving school and a learning centre
2
ad spend in the report$4,528 + $9,085
$13,613
CRM leads in the report
15,613
qualified leads1,840 + 1,138
2,978
Meta leads delivered to the CRMlost 0, queue 0, errors 0
2,103

Period: 9 September – 8 October 2026. Lead delivery has run for the driving school since 25 September (1,790 leads) and for the learning centre since 5 October (313); “lost 0” is a measurement for those dates, not a guarantee. The two projects’ economics differ: an ad lead costs $1.07 at the driving school and $3.80 at the learning centre, and the qualified share is 44% and 48%. That is why every project has its own report. Names are hidden; each project’s own figures are on the cases page.

Questions agencies ask

Can one client see another client’s numbers?

No. Everyone except the owner, admins included, gets only the projects opened to them with the “Projects” button: a client’s staff member sees their own project in the project list and in the report, and nothing else. For the same reason, do not give a client’s staff the owner role — the owner always sees every project.

Do I need a separate Meta token for every client?

Not necessarily. When one agency system user serves all clients, a new project can take the token of another project in the organisation. The client’s ad account and Page must be assigned to that system user. The token is stored encrypted and never leaves the organisation. If a client gives you its own token, you can paste that into the client’s project instead. The list of permissions is on the integrations page.

My clients use different CRMs. Is that a problem?

No. Every project connects its own CRM: Bitrix24 for one client, amoCRM (Kommo) for another, and capiCRM, the platform’s own CRM, for a client that has none. One CRM per project. Stages are mapped per project too, because a qualified lead means one thing at a driving school and another at a learning centre. One limit: website form requests are delivered to Bitrix24 and capiCRM only, not to amoCRM.

Can I see all my clients on one screen?

The project list shows a card per client with the last 7 days: spend, leads, qualified leads, CPQL, sales and revenue. A card carries a warning when a connection has an error or the CRM has been silent for more than 24 hours. There is no roll-up report that adds several projects into one table: every project has its own currency, its own funnel and its own definition of a qualified lead.

What if an employee leaves, or we stop working with a client?

Remove the person from the team and they no longer see the projects; an invitation that has not been accepted yet can be revoked. When work with a client ends, archive the project: it leaves the list and webhooks from its CRM are no longer accepted.

Is it Meta only? What about Google Ads or TikTok?

Meta only: Facebook and Instagram. Google Ads, TikTok and Yandex are not connected. Leads that reach the CRM from other sources appear in the report by channel, but spend and the per-creative breakdown exist for Meta ads only.

How is client data stored?

Phones and e-mails read from Bitrix24 or amoCRM are kept only as a SHA-256 hash and a masked number. Meta, CRM and Telegram credentials and capiCRM’s contacts are kept encrypted. Meta receives phones and e-mails only as hashes, and never a name. More in the privacy policy.

What does it cost, and what if I have several clients?

The published price: set-up is $159 once (3 days, with lead integration included as a bonus), then $40 a month for the Conversions API signals, the report, Telegram reports and lead integration up to 4,000 leads a month. Every client’s CRM and funnel are connected separately, so if you come with several clients, leave a request and ask how it adds up for your number of projects. More: pricing.

Open your first client as a separate project

Sign up with Google, create a project and connect Meta and the CRM yourself — or leave a request and we will set it up in 3 days. Set-up is $159 once, then $40 a month.