Client Karosh expressed frustration with poor performance at Adavacare's Milwaukee-area facilities and a lack of visibility into whether ad spend is generating results. The core problem: there is no attribution chain connecting ad clicks to phone calls, tours, or new residents. This article documents the full-funnel attribution plan developed to address that gap.
Related context: [1] | [2]
The current lead flow has multiple disconnected steps where data is lost:
Karosh cannot tell whether ads are working. The agency cannot prove ROI. Some inbound calls are from job seekers, not prospects, further muddying the picture.
How it works:
- Dynamic Number Insertion (DNI): A JavaScript snippet on the landing page replaces the displayed phone number with a unique trackable number drawn from a pool. Each visitor from an ad click sees a different number.
- When that number is dialed, CallRail logs the call and connects it to the originating campaign, keyword, and search query.
- All calls are recorded and transcribed, enabling quality review of staff performance (answer rate, script adherence, call length).
What this solves:
- Identifies which campaigns and keywords are generating calls
- Surfaces operational issues (e.g., phones going unanswered, poor handling of inquiries)
- Filters out job-seeker calls (also: ensure negative keywords for "jobs," "careers," "hiring" are active in Google Ads)
Pricing:
| Plan | Cost | Features |
|---|---|---|
| Basic (Call Tracking) | $45/mo | 5 local numbers, 250 min, call recording & attribution |
| Conversation Intelligence | $90/mo | AI call scoring, form tracking, keyword analysis |
Recommended approach: Start a 14-day trial of the $90/mo plan with full features, then evaluate whether to roll back to the $45/mo tier. Additional numbers are ~$5/each if the pool of 5 needs to expand.
Note: Karosh mentioned they may already be using GoHighLevel for call tracking. Audit GHL first to understand what's actually in place before proposing CallRail.
Problem: When a prospect fills out a form, a staff member receives an email and calls them back manually. There is no record of whether that callback happened, what was said, or whether a tour was booked.
Solution: Add a self-scheduling widget to landing pages (similar to HubSpot's meeting tool) so prospects can book a tour directly. This:
- Keeps attribution intact — the booking is tied to the form fill, which is tied to the ad click
- Removes the manual callback step as a data gap
- Creates a logged, timestamped record of the tour booking
Landing page consideration: Currently ads send traffic directly to location pages. Evaluate whether to build dedicated landing pages or optimize existing location pages to function as landing pages (stronger CTA, tour booking widget, "why now" messaging).
All touchpoints need to flow into GHL with no gaps:
| Event | Required Action |
|---|---|
| Form fill | Auto-logged to GHL contact record |
| Inbound call (via CallRail) | Forwarded to GHL via Zapier or native integration |
| Staff callback | Staff must log call in GHL (or call from within GHL) |
| Tour booked | Logged in GHL — ideally via self-booking widget |
| New resident | Revenue event linked back to originating contact |
Key requirement: Staff at Adavacare's facilities need to be briefed on logging all activity in GHL. The system only works if humans close the loop on the steps that can't be automated.
Recommended next step: Audit the existing GHL account — check who is logging in, how often, what the current lead flow looks like, and where data is falling off.
Team training: The Tuesday check-in has been updated to include Ben, Carly, Melissa, and Chris for a working CallRail attribution session. This process should be standardized across all accounts.
Karosh is frustrated and at risk of churning. The attribution story needs to be framed as a solution to his specific complaint, not a technical exercise.
Suggested narrative:
1. Acknowledge the problem — "You're right that we don't have full visibility yet."
2. Show the DR jump (2 → 51) as evidence that the foundation is being built. See [2].
3. Present the attribution stack as the next layer — "Here's how we connect the dots from ad click to new resident."
4. Show the Ahrefs organic position graph (use ChatGPT Vision to generate a written summary) — local keyword positions grew from ~5 in Dec 2023 to ~135 in Oct 2024.
5. Commit to 2–3 blog posts/month targeting Milwaukee-area locations and high-value keywords.
The in-person meeting on Nov 18 is the target venue for this full presentation.