AXIS LABS
Proposal · July 1, 2026 Prepared by Jason For a San Francisco nail salon

One CRM. Five channels.
Two way Square sync.

A complete GoHighLevel CRM wired to Square POS in both directions. Facebook, Google, Google Maps calls, Instagram DMs, and website leads all land in one pipeline. When a lead moves to Booked in GHL, Square creates the appointment. When payment lands in Square, GHL updates the stage and the financial fields. Ninety six existing contacts migrated in, ad spend flowing into GHL Marketing Spend automatically, and every channel end to end tested before handoff.

5 channels
FB · Google · CallRail · IG DM · Website
2 way
GHL and Square sync via Zapier
96 contacts
Migrated from existing GHL sub account
6 stages
New Lead to Paid pipeline model
What's Broken Today

Three failure modes that stall this build.

Salons trying to wire GHL and Square together on their own hit the same three walls. Different shapes, same root cause: no clean dedupe layer, no reliable two way sync, and no honest UTM attribution.

👥

Duplicate contacts across channels

Same client DMs on Instagram (no phone), then calls from Google Maps a week later. Native GHL only dedupes on exact phone or email, so you end up with two records and split history that never merges.

🔁

One way Square sync loses signal

Most GHL Square integrations only push GHL to Square. When payment completes in Square, no signal comes back, so the GHL stage never advances to Paid and financial fields stay blank.

📊

UTM data dies at the form submit

Website visitors carry utm_source, utm_medium, utm_campaign in the URL. Standard GHL forms drop them at submit, so attribution back to Facebook Ads vs Google Ads vs organic gets lost the moment the lead enters the pipeline.

The Build

Five channels in. Square wired both ways. Dedupe layer live.

A production GHL CRM with custom fields and a six stage pipeline (New Lead, Booked, Confirmed, Showed, Paid, No Show), five inbound channels landing cleanly with UTM parameters preserved on every website contact, and a two way Zapier sync between GHL and Square POS: booking created in Square when the stage moves to Booked, and stage advanced to Paid with financial fields written when Square logs the payment. Duplicate handling is built as a lookup step before every create action, checking phone, email, Instagram handle, and last name fuzzy match against the last thirty day window so the same client landing on IG DM and Google Maps merges into one record. Ad spend flows into GHL Marketing Spend from both Facebook Ads and Google Ads automatically. Ninety six existing contacts migrate in via CSV. Every channel gets an end to end test lead before handoff, plus a fifteen to twenty minute admin training.

Services and Deliverables

What you get. Phase by phase.

Every phase ships with concrete deliverables you sign off on before the next begins. Full alignment to your thirteen page technical specification.

🏗️
Phase 1 · Week 1
GHL Foundation and Pipeline
  • Custom fields for booking, service, price, UTM source, medium, campaign
  • Six stage pipeline: New Lead, Booked, Confirmed, Showed, Paid, No Show
  • Ninety six contact CSV migration from your existing sub account
  • Contact tags, source attribution, and stage entry automations wired
📡
Phase 2 · Week 2
Five Channel Lead Intake
  • Facebook Ads lead form connected to GHL with source and campaign attribution
  • Google Ads leads captured through GHL native integration or form endpoint
  • Google Maps calls tracked through CallRail with recording and stage entry
  • Instagram DM automation for first response and appointment intent capture
🔗
Phase 3 · Week 3
Website UTM Capture and Dedupe Layer
  • Website UTM script capturing utm source, medium, campaign, term, content
  • UTM parameters stored in first touch cookie, injected into every GHL form
  • Zapier lookup step before every create action across all five intake channels
  • Dedupe by phone, email, Instagram handle, or last name fuzzy in thirty day window
💳
Phase 4 · Week 4 (first half)
Two Way Square POS Sync
  • Zap A: GHL stage change to Booked triggers Square appointment creation
  • Zap B: Square payment completed webhook advances GHL stage to Paid
  • Financial fields on the GHL contact written from Square payment payload
  • Idempotency keys and lookup checks so the same booking never doubles
📈
Phase 5 · Week 4 (second half)
Marketing Spend, End to End Testing, Handoff
  • Facebook Ads and Google Ads spend flowing into GHL Marketing Spend automatically
  • End to end test with one live lead from each of the five channels documented
  • Fifteen to twenty minute admin training session with Loom recording for reference
  • Full configuration guide, Zap documentation, and runbook for future updates
Timeline

Four weeks. Spec to live pipeline.

Each week ships a working deliverable you can verify. Click any week to see exactly what lands by Friday.

Deliverables this week
  • Custom fields for booking, service, price, UTM source, medium, campaign
  • Six stage pipeline live: New Lead, Booked, Confirmed, Showed, Paid, No Show
  • Ninety six contact CSV import from your existing sub account complete
  • Source attribution automations and stage entry triggers wired
Deliverables this week
  • Facebook Ads lead form connected with source and campaign attribution
  • Google Ads capture via native integration or endpoint form
  • Google Maps CallRail tracking with recording and stage entry
  • Instagram DM automation for first response and intent capture
Deliverables this week
  • Website UTM script capturing source, medium, campaign, term, content
  • UTM values persisted in first touch cookie and injected into GHL forms
  • Zapier lookup step running before every create across five channels
  • Dedupe by phone, email, Instagram handle, or last name fuzzy in thirty days
Deliverables this week
  • GHL to Square Zap creating appointments on Booked stage change
  • Square to GHL Zap advancing to Paid stage with financial fields written
  • FB Ads and Google Ads spend flowing to GHL Marketing Spend automatically
  • End to end test lead per channel plus admin training Loom recorded
Next Step

Let's walk the spec together.

A 30 minute call where I share my screen, walk through a live Square and GHL Zap setup, and confirm scope against your thirteen page technical spec. Happy to walk through commercials on the call.