The brief
Insurance comparison agencies in New Zealand were stitching together spreadsheets, generic CRMs, and ad-platform exports. Lead quality was hard to attribute; agent follow-up was inconsistent. We set out to build the CRM we wished existed for this exact vertical.
What we built
- Multi-tenant architecture — each partner agency gets isolated data, branded funnels, and their own Google Ads + Facebook accounts wired in.
- Google Ads OAuth + post-callback setup — a guided wizard that turns raw OAuth scopes into a list of selectable ad accounts the agency can attach to a tenant.
- Lead-routing engine — geo, time-of-day, and conversion-history aware.
- Agent workspaces — one view per assigned lead with call scripts, prior policies, and disposition tracking.
- Conversion analytics — funnel reporting all the way from ad spend to signed policy, broken down by tenant, campaign, and agent.
How it works in production
The same multi-tenant deployment serves every partner agency. Each tenant configures its own Google Ads + Facebook ad accounts via the in-app OAuth flow, which captures the long-lived refresh tokens needed to import campaign + spend data on a daily cron. Lead-router rules are tenant-scoped so each agency tunes its own geo / time / agent-availability policies without affecting anyone else's.
What's next
The reference architecture from Insighter CRM is what we now reach for when a client describes an "industry-specific CRM" problem. The patterns — multi-tenant data isolation, OAuth-on-rails for ad platforms, lead routing tied to attribution — port directly to insurance-adjacent verticals and beyond.