Client name changed to protect confidentiality.
The request
What they asked for
Larkmoor wanted one platform to plan, build, publish and measure social and paid work, with a way to keep spend on pace. They also wanted a finance module sitting beside it, covering tax calculation, salary calculation and expenses, so the cost side of the business was in the same place as the marketing side.
It was a build with two halves that talk to each other. Growth tools on one side. Money on the other. The link between them is the point.
The problem
What was broken
Social and paid teams spend a surprising amount of time on logistics. Writing posts in one tool, building campaigns in another, checking spend in a third, then assembling a report by hand. Budgets drift because nobody is watching the pace. Ads get built from scratch every time because nothing holds the pattern.
And the numbers stop at the ad account. Spend in Meta and Google Ads is rarely compared to what the business paid in salaries, taxes and expenses, so “did this campaign pay for itself?” gets answered with platform metrics instead of profit. That is activity without a line to revenue.
- Budgets overspent or underspent because pacing was checked by eye.
- Campaign and ad structures rebuilt manually for every launch.
- Post drafting and publishing handled outside the campaign context.
- Ad spend, payroll, tax and expenses kept in separate worlds.
What we built
The system, piece by piece
Growth side
Six modules that share one campaign record
The growth platform is six modules that work from the same campaign and account records, so something built in one place is visible in the others. The Meta Business Suite integration is how the platform publishes and manages social and ad activity on the client’s behalf.
Pacer
Tracks spend against budget across a period, so overspend and underspend are visible while there is still time to act.
Campaign builder
Structures campaigns from a repeatable pattern, so a launch starts from a template and not a blank page.
Meta ads generator
Generates ad variations for Meta campaigns, ready for a person to review before they run.
Analytics
Brings campaign and post performance into one view alongside spend.
Studio
The workspace for creating and organising creative assets and content.
AI post writer
Drafts posts for review, so the first version is not a blank page. A person edits before anything is published.
Finance side
A finance module, wired to the same accounts
The finance module covers three jobs: tax calculation, salary calculation and expenses. It is useful by itself. It becomes more useful because it is connected to the systems where the money actually moves.
QuickBooks and Gusto supply the accounting and payroll side. Stripe supplies payments. Meta and Google Ads supply advertising spend. Putting those five in one place means an ad dollar can be set against the cost of the people and the tax around it, not only against the clicks it bought.
| Integration | What it brings in |
|---|---|
| QuickBooks | Accounting records |
| Gusto | Payroll and salary data |
| Stripe | Payments |
| Meta | Social and ad spend |
| Google Ads | Search and display ad spend |
The connection
Why growth and finance live in one platform
Keeping the two halves in one platform is the design decision that matters. A pacer that knows a budget and a finance module that knows the cost of the team are looking at the same business. When a campaign over- or under-spends, the cost shows up where finance can see it. When finance changes a number, the growth side is not working from an old one.
It also means one set of permissions, one login model and one place where an assistant can be given access.
MCP server
Letting AI tools work with the platform
An MCP server exposes the platform to AI tools. A team member can use an assistant to ask about pacing or performance, or to prepare drafts, using the platform’s real data. Anything that publishes or spends still goes through a person.
Trade-offs
Decisions that shaped it
AI in an ads tool is easy to get wrong. These are the calls that kept a person in charge of the money.
Draft, then approve
The Meta ads generator and the AI post writer produce first drafts. Review is part of the flow, because a bad ad costs real budget and a bad post costs real reputation.
Pacing as its own module
Spend control is a feature in its own right, not a chart on a dashboard. Overspend is cheaper to prevent than to explain.
Finance in the same product
Building the finance module into the platform means a campaign can be judged after tax, salary and expenses, not only after ad spend.
Integrate with the books, do not become them
QuickBooks and Gusto stay the records of truth. The module calculates and reconciles against them rather than competing with them.
Meta Business Suite for publishing
Going through the Business Suite integration keeps publishing and ad management inside Meta’s own permissions and review.
Handover
Who runs it
The marketing team runs the growth modules. Whoever owns the books runs the finance module. The MCP server gives both sides a way to ask questions of the platform without needing to learn another screen.
Operations
How it runs day to day
A campaign starts in the builder, with ad variations from the Meta ads generator and posts drafted with the AI writer, then reviewed and published through the Meta Business Suite integration. While it runs, the pacer shows whether spend is on track. Analytics shows how the work is performing.
On the finance side, expenses and salary and tax calculations are handled in the finance module, with the connected accounts feeding it. The monthly question, whether the marketing paid for itself after the real costs, is answered from one place instead of three exports.
A typical campaign path
- Build the campaign from the template in the campaign builder.
- Generate and review ad variations.
- Draft and approve posts, then publish through Meta Business Suite.
- Watch spend in the pacer and results in analytics.
- Set the result against costs in the finance module.
Measurement
What the system measures
These are the areas the platform tracks. They are definitions, not results.
- Spend against budget, over a period, in the pacer
- Campaign and post performance in analytics
- Ad spend from Meta and Google Ads
- Payments from Stripe
- Salary, tax and expense calculations from connected payroll and accounting data
Scope boundaries
What we chose not to build
- Autopilot publishing
- AI drafts posts and ads for review. A person approves anything that goes live or spends money.
- A new accounting system
- QuickBooks and Gusto stay the books of record. The module calculates and reads from them.
- Another ad network
- The platform works with Meta and Google Ads, which is where the spend actually is.
- Reports that stop at the click
- Analytics sits beside spend and finance so a result can be judged after costs.
Outcome figures
Outcome figures are held back for confidentiality and will be added when the client approves publication.