← All client stories
AgencyCRM systemClient portalAPI integrationDatabase

Bolt Branding

Bolt Branding runs a design and marketing agency and needed one place for the whole client journey, from first enquiry and proposal through onboarding, invoicing and support. We built it, including Google Ads monitoring that checks every client account each morning.

The clientDesign & marketing agency
ServicesCRM · Portal · API integration
Built withPHP · MySQL · Google Ads API
01 — The client

A busy agency, a lot of moving parts.

The goal: one place where an enquiry becomes a proposal, a project, an invoice and a happy client.

The challenge. Like most agencies, Bolt Branding's work spans proposals, projects, tasks, invoices, onboarding forms, support requests and ad accounts. Normally that means half a dozen tools held together by copy-and-paste.

What we did. We started from how an agency really operates, not from a template. A client is a company with several logins. A project is born from an accepted proposal. A retainer generates its own invoices and tasks every month. And anything a client needs to do shows up in one list. The team works in a staff area, while each client gets a portal showing only their own work.

02 — Live demo

Try it. It's real logic.

Four screens recreated from the real system, running on sample data. Accept the proposal in tab two, then check the clients board and the client portal: they all react.

crm.youragency.com/hq/dashboardLive demo
Dashboard

Drag cards between columns, or use the arrow on each card.

Recent activity
Proposal PRO-0007 · Sent

Website redesign for Harbour Cafe

Discovery & strategy£1,200
Design (5 page templates)£3,600
Build, content & launch£4,200
Total£9,000
Deposit due on acceptance (30%)£2,700
What the system does when it's accepted

Nothing yet. This is the page the client sees: a private link, no login. Fill in a name, agree, and press Accept proposal.

    Google Ads monitor

    The rules behind these alerts are the real ones. The clients and figures are invented. See every check →

    Monitored accounts day 14 of 30
    Daily spend · Northside Dental last 14 days
    Dashed line is the daily budget target. The last point is yesterday, which is what the morning check reads.
    Open alerts 0
    Search terms · Northside Dental rolling 7 days
    Search termClicksCostConv.Flag

    Terms that spent £20 or more over seven days with no conversions are flagged for a person to review. They are never applied to the live ad account automatically.

    Welcome, Maya Harbour Cafe · client portal
    Outstanding balance£2,400
    View invoices →
    Your projects
    ProjectStatusDue
    Updates from your team

    Screens, rules and alert wording are recreated from the real system. Every client and figure shown is invented.

    03 — How it helped

    What changed for them.

    01

    Nothing falls between tools

    Proposals, projects, invoices and support live in one system, so the team isn't hunting for the latest version of anything.

    02

    Paperwork that does itself

    Accepting a proposal creates the project and the deposit invoice, and retainers generate their own invoices and tasks.

    03

    Clients always know what's next

    Each client sees one "action needed" list: forms to complete, documents to approve, replies to send.

    04

    Ad accounts watched every morning

    Instead of checking dashboards, the team gets one email a day with only what's newly wrong, and nothing in the accounts changes unless a person decides it should.

    04 — What's inside

    Everything an agency actually does.

    01

    Clients & pipeline

    A board and a list, by status: lead, onboarding, active, paused, churned. Activity log, CSV export and global search.

    02

    Proposals

    Private link, no login. Clients accept or decline online, and acceptance creates the project and deposit invoice automatically.

    03

    Projects & tasks

    Reusable checklists (website build, brand identity, SEO retainer, ad campaign setup), assigned to staff, with comment threads.

    04

    Invoicing

    Invoices with line items, payments recorded as rows (so payment plans just work), PDF export and recurring invoices by schedule.

    05

    Onboarding packs

    Reusable intake forms for websites, brand and ads. Clients complete them in the portal, including file uploads.

    06

    Client portal

    A separate login per person, scoped to their company. One "action needed" list for forms, approvals, replies and feedback.

    07

    Support tickets

    Category, priority and status, with a two-way thread. Urgent or unassigned tickets surface on the dashboard.

    08

    Testimonials

    Requested automatically when a project completes. Clients rate, quote and choose whether they can be featured.

    09

    Google Ads monitoring

    Connected to the agency's Google Ads account. Every morning it checks each client account and emails only what's newly wrong. Read-only by design.

    05 — Google Ads

    Watching ad accounts so people don't have to.

    Every morning the system checks each client's Google Ads account and emails the team only what's newly wrong. It reads from the live accounts and never changes them.

    Budget

    • Spend pacing over budgetMore than 15% ahead of a straight-line share of the monthly targetWarning
    • Spend pacing under budgetMore than 15% behind the same lineInfo
    • CPA running over targetMonth-to-date cost per conversion more than 20% over the account's target, once there are at least three conversionsWarning

    Performance

    Yesterday against the previous seven days. Skipped for brand-new accounts with too little spend, to avoid noise.

    • Spend spikeUp more than 50%Warning
    • Spend dropDown more than 50%. Worth checking for a paused campaign, exhausted budget or payment issueCritical
    • Conversions dropDown more than 50%Critical
    • Average CPC spikeUp more than 40%Warning

    Account hygiene

    • No conversion trackingNo enabled conversion actions, so results can't be judgedCritical
    • Disapproved adsAds rejected by Google's policy review and not servingWarning
    • Ad groups with one active adNothing to test it againstInfo
    • Campaigns limited by budgetLosing more than 10% of search impression share to budgetWarning

    Search terms

    • Search terms spending with no conversionsTerms that spent £20 or more in seven days with zero conversions are listed as negative-keyword candidates, for a person to reviewWarning
    01

    One open row per issue

    Alerts are de-duplicated by account and check, so an ongoing problem is a single alert that stays up to date, not a new one every morning.

    02

    It closes itself

    When a check stops finding the issue, the alert resolves automatically. Nobody has to tidy up.

    03

    It fails safely

    If one account's data can't be fetched, that account is logged and skipped. The others still run, and a failed email never takes the job down.

    Google Ads APIOAuthREST / GAQLDaily scheduled jobEmail digestRead-only
    06 — Under the hood

    Decisions that mattered.

    The interesting part of a bespoke build is what you choose not to do.

    01

    Simple on purpose

    Deliberately plain technology, chosen so the system is quick to load, cheap to run and easy for anyone to look after for years to come.

    02

    Two front doors

    Staff and clients each get their own, completely separate experience. A client only ever sees their own company's work.

    03

    One place for "tell someone"

    Every notification, from a new proposal to an overdue invoice, flows through one place, so the right people reliably hear about the right things.

    04

    Careful with live accounts

    The Google Ads connection only ever reads. Alerts are de-duplicated so an ongoing issue is one open row, not a daily flood, they close themselves when the issue goes away, and anything that would change an account is left for a person to approve.

    05

    Built to keep changing

    Every change to the system is tracked and checked, so new features can be added without disturbing what already works.

    Custom buildGoogle Ads APIScheduled jobsEmail notifications
    07 — More client stories

    Never the same twice.

    See all client stories →

    Got something that big in mind?

    Or something much smaller. A free 20-minute call is the easiest way to find out.

    Start a conversation →