Playbook
The Semicolon Model
We provide a client acquisition partnership for renovation contractors. Our model is performance-based — commission is earned only when a homeowner signs a contract. No retainer, no per-lead fee, no setup cost.
This means our cash flow is directly tied to team performance and lead quality. Unlike traditional agencies that invoice monthly regardless of outcome, we only get paid when a real homeowner signs.
Our current partner is Renovo Inc., owned by Mohammad Majidi — a residential and commercial renovation company based in Richmond Hill, serving the GTA. All operations in this workspace are calibrated to Renovo's services, hours, and qualification criteria.
What is an SOP and why does it matter?
SOP stands for Standard Operating Procedure — a written step-by-step guide for a specific task. Like a recipe: it says exactly what happens, in what order, and by whom.
Simple example
Suppose a homeowner calls at 10 AM. How should Anahita (Call Center Manager) answer? What questions should she ask? How does she tell if this lead is worth Mohammad's time or not? Where does she log it?
All of that is in the "Answer Inbound Call & Qualify" SOP. Anahita doesn't have to reinvent the wheel every time — she follows the procedure. Result: consistent experience for every homeowner, not dependent on Anahita's mood or memory.
Why do we need SOPs?
- Consistency. Anahita handles 50+ calls a day. If she decides how to behave each time, the homeowner experience won't be stable.
- Faster onboarding. When a new team member joins, they can read the SOPs from day one. Not 3 months of training — 3 days.
- Continuity. If Anahita is sick and someone else answers, they can deliver the same quality.
- Learnings are preserved. If we learned last month how to handle a specific objection, that learning goes into the SOP. It won't be forgotten next month.
- Scale becomes possible. Without SOPs, you can never take on a second client — because everything lives in one person's head.
What an SOP is NOT
An SOP is not a rigid rule. It's a guide. Follow it in 90% of cases. In the other 10%, use your judgment — then update the SOP so the next person benefits.
Team roles and responsibilities
Each team member owns specific SOPs. Full list on the Team page.
- Owner / Account Manager — Owns the client relationship, escalations, monthly reviews.
- Anahita Ila — Call Center Manager — Inbound calls, qualification, booking, follow-up.
- Hamed Mostafaei — Google Ads Manager — Google + Meta Ads campaigns, optimization, budget management.
- Saeedeh Mahmoudi — Marketing & Website Director — Landing pages, website updates, creative direction.
- Reza Mohammad — Strategist — Analytics, strategy, monthly reviews, cross-channel insights.
How to write or update an SOP
- Need a new SOP? Raise it in the weekly meeting. If the team agrees, ownership is assigned and that person writes the draft.
- Draft ready? Save it as "Draft" in the workspace. Owner gives feedback. Once approved, status → "Live".
- Updating an existing SOP? If it's a minor change (typo, rewording): edit directly — version history captures it automatically.
- Major change (workflow logic changed)? Check with Account Manager or Owner first. Then edit and announce in Slack #team.
- Every SOP is reviewed every 6 months. If no one has edited it, we don't know if it's still valid.
Escalation matrix
- Routine (daily) → Call Center, Ads, Strategy make their own decisions.
- Non-routine (outside SOP scope) → Account Manager within 4 hours.
- Client-facing (complaint, exit threat) → Account Manager immediately.
- Financial (commission dispute, missed payment) → Owner directly.
- Legal (contract issue) → Owner immediately.
SOPs
| Title | Category | Owner | Updated | Status |
|---|---|---|---|---|
Answer inbound call & qualify lead |
Call Center | Anahita Ila | 2 days ago | Live |
Follow-up cycle for pending quotes |
Call Center | Anahita Ila | 1 week ago | Live |
Set up new Google Ads campaign |
Ad Ops | Hamed Mostafaei | 5 days ago | Live |
Landing page optimization |
Marketing | Saeedeh Mahmoudi | 4 days ago | Live |
Monthly strategy review with client |
Strategy | Reza Mohammad | 2 weeks ago | Live |
Answer inbound call & qualify lead
When to use
Every time the Renovo phone rings during business hours (9 AM – 9 PM daily). After hours, the voicemail script handles it.
Prerequisites
- Answer with the brand: "Renovo" (not Semicolon, not your name).
- The CRM / shared lead spreadsheet is open in the background.
- Mohammad's site-visit calendar is on the next tab.
- The Question Bank is open on the third tab for real-time qualification.
Steps
"Hi, this is Renovo, how can I help you today?" — smile while you speak, it comes through in your voice.
Let the homeowner talk fully. Don't interrupt. Capture the basics: name, phone, address (postal code), project type.
Go through the standard 8 questions naturally in the conversation. Log answers + scores in the Call Log form as you go.
If total score ≥ 60% → book site visit. If < 30% → politely decline. Between 30–60% → escalate to Account Manager within 24h.
Open the Client Calendar tab, pick an available slot (Mohammad's site visits are 10 AM – 8 PM). Confirm slot with homeowner on the phone. Book it — confirmation email preview will appear.
Finalize the Call Log entry. Outcome → "Booked" or "Qualified" as appropriate. Add specific homeowner requests in the "Special request" field. Lead flows to Mohammad immediately per Renovo's delivery preference.
High-quality lead profile (Renovo standard)
- Is the caller the homeowner (or has explicit owner approval)? Renters without owner approval → decline.
- Target: $25,000+. Never quote exact prices on the phone — Renovo policy. Rough ranges only for common jobs.
- Target: 1–3 months from now. "Just researching" → low priority. Rush (<1 month) is OK if scope is clear.
- All GTA or within 50 km from Richmond Hill → free in-person estimate. Beyond 50 km → photo/video estimate only via WhatsApp 647-919-7959.
- Project must be $2,000+. Both residential and commercial accepted. Willing to schedule a site visit (not just phone shopping).
Red flags — drop the lead
- Renter without homeowner approval.
- Only asking for the cheapest price, refuses site visit.
- Unrealistic timeline (e.g., "start tomorrow, finish next week" for a full kitchen).
- Budget under $2,000 — this is Renovo's minimum.
- Unclear project details, unwilling to describe scope.
- Just wants a phone quote with no site visit.
Related SOPs
Change history
Landing page optimization
When to use
Any time we launch a new Google Ads campaign, spin up a new service line for Renovo, or when Hamed flags a page with CTR > 3% but conversion < 3% (traffic is working, page is leaking).
Prerequisites
- Access to Renovo's landing page builder (Framer / Webflow).
- Renovo brand assets: logo, hero images, portfolio shots from renovoinc.ca.
- Google Analytics 4 + Microsoft Clarity access for heatmaps.
- Current top-performing keywords from Hamed (see Ads Report tab).
- Mohammad's contact info for the CTA: phone 416-300-2093, lead line 647-919-7959, email renovoinc.ca@gmail.com.
Steps
The landing page headline must repeat the ad's promise almost word-for-word. If the ad says "Basement Renovation in Richmond Hill", the H1 says the same. Message match is the #1 conversion factor.
Above the fold: H1 with the service + city, sub-headline with Renovo's value prop ("Full home renovations, honest pricing, quality workmanship"), CTA button ("Get Free Estimate"), phone number 647-919-7959 visible.
Directly under hero: "Serving GTA · 1-year warranty · Licensed plumbing, electrical, HVAC · $2M insurance". These are Renovo's actual differentiators from Q25 in the setup form.
Icon grid showing the specific services relevant to this campaign — not all 20 services from renovoinc.ca. If it's a basement campaign, show basement finish, waterproofing, separate entrance, underpinning. Keep it focused.
4–6 before/after photos pulled from the Renovo Instagram (@renovo_inc) or Google reviews. Rotate every 30 days so return visitors see fresh work.
Simple 4-step visual: "Call → Site visit within 1–2 days → Quote within 2 days → Contract". This is Renovo's actual sales process — sets expectations honestly.
Answer the questions Renovo says every caller asks: warranty (1 year), payment (20/50/20/10 schedule), insurance coverage ($2M), trades in-house (yes — plumbing, electrical, HVAC licensed).
On mobile, sticky bottom bar with tap-to-call. Desktop: sticky sidebar form with 3 fields max (name, phone, project type). Fewer fields = higher fill rate.
Do NOT put project timelines on the landing page. Mohammad's rule — timelines depend on scope and are set in the quote, not on the marketing page.
Test on mobile Safari + Chrome, tap-to-call works, form submits to the shared spreadsheet + emails renovoinc.ca@gmail.com immediately, page loads under 2 seconds on 4G, images compressed.
Every Friday: check GA4 for conversion rate, check Clarity for scroll depth and rage clicks. If conversion < 3%, log an A/B test hypothesis for next week.
Edge cases
- New service line Mohammad wants to test → build a dedicated landing page first, then Hamed builds the ad campaign to it.
- Beyond 50 km inquiry via ad → landing page mentions photo/video estimates via WhatsApp 647-919-7959 for far areas.
- Commercial inquiry → Renovo does both residential and commercial, but the tone shifts. Keep a separate commercial landing page.
- Traffic spike from social → make sure the Instagram bio link points to the general landing page, not a campaign-specific one.
Related SOPs
Change history
Set up new Google Ads campaign
When to use
- New service area or service line for Renovo (e.g. adding a basement-specific campaign).
- Seasonal push (e.g. spring renovation season).
- Existing campaign is underperforming and needs a fresh start.
Prerequisites
- Manager-level access to Renovo's Google Ads account (under Renovo's name, not Semicolon).
- Landing page ready and tested by Saeedeh (PageSpeed Insights > 80).
- Conversion tracking set up in GA4 and GTM — form submits and tap-to-call from 647-919-7959.
- Payment method in Google Ads verified — billed to Renovo.
- Renovo's business setup form (services, hours, service area) for targeting reference.
Steps
Use Google Keyword Planner. Build a list of 50 relevant keywords covering Renovo's services: basement finish, kitchen renovation, bathroom renovation, full home renovation, underpinning, waterproofing, etc. Note search volume, competition, expected CPC.
Split keywords into High intent (hire, near me, quote, cost), Mid intent (compare, best, ideas), Low intent (DIY, how to, tutorial). Only target High and Mid.
Standard list of 30+ excluded terms: "DIY", "cheap", "job", "career", "course", "tutorial", "wholesale", "free", "under $2000" (Renovo minimum). Add "rental" and "tenant" — renters without owner approval are Renovo's #1 red flag.
One campaign per service type. For Renovo: "Basement Renovation – Search", "Kitchen Renovation – Search", "Bathroom Renovation – Search", "Full Home Renovation – Search". Keep commercial separate from residential.
Each ad group = one location theme. In "Basement Renovation": "Basement Reno Richmond Hill", "Basement Finish Vaughan", "Basement Reno Markham", etc. GTA + 50 km from Richmond Hill.
At least 3 Responsive Search Ads per ad group. 15 unique headlines, 4 unique descriptions. Highlight Renovo's differentiators: "1-year warranty", "Licensed plumbing/electrical/HVAC in-house", "$2M insurance", "Free estimate within GTA".
Use all of them: Sitelinks (6), Callouts (4), Structured Snippets, Call extension (647-919-7959), Location extension (Richmond Hill), Price extension (from $2,000).
Start with Manual CPC or Target CPA (if you have prior conversion data). Move to automated bidding only after 30 days of data.
Start at $30–$50/day for testing. Increase after 2 weeks of data. Set a monthly cap in Google Ads to prevent runaway spend.
Precise targeting: All GTA + 50 km radius from Richmond Hill. Exclude anything beyond 50 km — those get routed to WhatsApp photo estimates instead. Never target the entire province.
Renovo's business hours are 9 AM – 9 PM daily. Bid adjustment +20% for peak hours (6–8 PM) when homeowners are home. Weekends on from day one — Renovo answers calls 7 days a week.
Fire a test conversion (call to 647-919-7959 or form submit). Confirm it tracked in Google Ads AND GA4. Enhanced conversions enabled.
Monday 9 AM for full-week monitoring in business hours. Never Friday night or weekend — you don't want issues sitting unfixed.
Watch CTR, CPC, Quality Score. If QS < 5, landing page or ad copy is off — flag Saeedeh. If CPC unreasonable, adjust bids.
Post in team chat: "Campaign X is live. First leads likely from tomorrow. Anahita — heads up." Leads go to 647-919-7959 / renovoinc.ca@gmail.com immediately per Renovo delivery preference.
Edge cases
- Quality Score < 5 → landing page or ad copy issue. Flag Saeedeh for landing page review.
- CPC unreasonably high → competitor bidding aggressively. Try alternative keywords with similar intent.
- Zero impressions day 1 → ad still under review, wait 24 hours. Still pending at 48h → open a Google support ticket.
- High impressions, low clicks → ad copy not compelling. Launch A/B test with a different headline angle.
Escalate to Account Manager if
- Monthly budget request > $5K.
- Keyword strategy conflicts with Mohammad's stated business goals.
- Google Ads account suspended or a policy violation is issued.
Related SOPs
Change history
Follow-up cycle for pending quotes
Full timeline
Renovo sends the quote directly (Mohammad's team owns quote creation). Anahita logs it in the shared spreadsheet, stage → "Quote Sent", starts the follow-up timer.
Template: "Hi [Name], this is Anahita from Renovo. Just checking in — any questions about the quote, or anything you'd like me to clarify?" Automated, no manual work.
If no reply, send the "Value-add tip" template. One useful nugget: "Did you know Renovo handles plumbing, electrical, and HVAC in-house? Fewer surprises, one accountable team." Goal: keep warmth without sales pressure.
Call directly. Use the "Objection discovery" script: "Hi Mr. Smith, this is Anahita. Wanted to make sure you got the quote and answer any questions." Listen for objections.
"If you'd like a second site visit or any changes to the quote, just let me know and I'll coordinate with Renovo." — adds optionality without pressure.
"I wanted to check whether you decided to move forward, went with someone else, or paused. Any answer helps us — no wrong response." Feedback-oriented, even losses give us learnings.
No response → stage "Lost – Non-responsive". Said no → "Lost – Chose competitor" or "Lost – Postponed". Yes → "Won" and notify Mohammad immediately.
Templates used
Key rules
- Never be pushy. Homeowners can tell and will disengage.
- Log every interaction in the shared spreadsheet, even voicemails.
- If a homeowner says "no" explicitly → don't go to Day 15. Respect it. Stage → Lost.
- If a homeowner says "later" → ask "when would be a good time to check back in?" and log the date.
- Track real objections. If you hear the same objection 3 times, update the Objection Response bank template.
- Never promise timelines. Renovo's rule — if pressed about "when will it be done", say "the site visit will let us give you an accurate timeline in the quote".
Related SOPs
Change history
Monthly strategy review with client
Timeline
- Day 1 next month: Data extraction from all sources.
- Day 2 next month: Analysis and narrative writing.
- Day 3 next month: 45-min review meeting with Mohammad.
Steps
From Hamed: impressions, clicks, CTR, CPC, conversions, cost per conversion. Break down by campaign and ad group. Export CSV.
Reach, impressions, clicks, conversions, cost per result. Break down by campaign. Export CSV.
From Anahita: total calls, qualified rate, booked site visits, show rate, quotes sent, contracts signed, contract value. Uses the Call Log system directly.
From Saeedeh: page views, conversion rate per landing page, top-converting pages, drop-off points from Clarity heatmaps.
Total contract value × commission % = Semicolon's earned commission for the month. Compare to prior month.
(Total contract value) ÷ (Renovo's total ad spend) = ROAS. Compare to industry benchmark (~4x for home renovation).
Use the "Renovo Monthly Report" template. Update the data source. Charts refresh automatically.
Three sections: What worked (2–3 paragraphs), What didn't (1–2 paragraphs), Next month plan (2–3 paragraphs). Be honest, don't oversell.
Export from Looker Studio with narrative embedded. Naming: "Renovo Inc – Monthly Report – [Month YYYY]".
Zoom or in person. Fixed agenda: (5 min) recap, (20 min) numbers walkthrough, (15 min) next month plan, (5 min) Q&A. Never over-run.
Save PDF in the shared Google Drive folder. Meeting notes in the workspace. Action items assigned in team tracker.
Metrics we always show
- Total ad spend
- Impressions, clicks, CTR
- Average CPC
- Total leads, qualified rate
- Cost per qualified lead
- Booking rate, show rate
- Quotes sent, conversion rate
- Contracts signed, total value
- Average contract value
- ROAS
- Cost per acquisition
- Semicolon commission earned
Related SOPs
Change history
Clients
Renovo Inc.
About the client
Renovo Inc. specializes in basement and full home renovations. With years of experience, they deliver quality workmanship, honest pricing, and reliable service to ensure every project is completed to the highest standard.
Unlike many renovation contractors who subcontract everything, Renovo keeps plumbing, electrical, and HVAC licensed in-house. This is a real differentiator for homeowners — fewer surprises, one accountable team, faster resolution when something needs adjusting mid-project. They carry $2M in insurance and offer a 1-year limited workmanship warranty.
Renovo works with both residential and commercial projects, minimum $2,000. Below that, they refer out. Above $25,000 is their ideal range for the current partnership — that's the budget threshold where homeowners are serious enough to convert, and where our commission math works.
Behavioral notes
- Available 9 AM – 9 PM, 7 days a week — leads can be delivered any time.
- Mohammad prefers leads delivered immediately after the call via shared spreadsheet + email to renovoinc.ca@gmail.com.
- Site visits scheduled 10 AM – 8 PM. Can start a new project the next business day.
- Never promise a project timeline on the phone — this is Renovo's #1 rule. Timelines come only from the site visit + quote.
- Never quote exact prices on the phone. Rough ranges only if directly asked (see Question Bank).
- Photo estimate for anything beyond 50 km — homeowner sends at least 5 photos from different angles + a video + measurements on picture, via WhatsApp 647-919-7959.
- Not a renter tolerator — leads must be homeowners or have explicit owner authorization.
Services accepted
- Full home renovation
- Basement finish or renovation
- Kitchen renovation
- Bathroom renovation
- Additions
- Basement separate entrance
- Underpinning
- Foundation work
- Structural work
- Basement waterproofing
- Wall removal
- Demolition
- Plumbing (licensed)
- Electrical (licensed)
- HVAC (licensed)
- Framing, drywall
- Finish carpentry
- Paint
- Flooring
- Tiling
- Deck
- Fence
Not accepted
- Projects under $2,000.
- Callers who are renters without homeowner approval.
- Phone-only inquiries who refuse a site visit.
- Homeowners with unrealistic timelines/budgets for the described scope.
Frequent customer questions & standard answers
- "Who does the plumbing/electrical work?" — Renovo has licensed plumbing, electrical, and HVAC in-house.
- "Are you insured?" — Yes, $2M coverage.
- "What warranty do you offer?" — 1-year limited workmanship warranty.
- "How do payments work?" — 20% at project start, 50% at middle, 20% at 90% completion, 10% at finish.
- "How long will my project take?" — "The site visit will let us give you an accurate timeline in the quote." (Never commit a timeline on the phone.)
Portfolio & reviews
- Website: renovoinc.ca
- Instagram: @renovo_inc
- Google Business: Search "Renovo Inc" or use the Google share link in the delivery templates.
After-hours voicemail script
Learnings & adjustments
Templates
Team
Future hires
- Second Account Manager — when we sign our third client.
- Senior Call Center — when call volume passes 50/day.
- Data Analyst — when reporting becomes more complex than one person can maintain.
Meeting notes
Call log
Today and last 7 days
Filter
Contacts
Ads report
Total (both platforms)
Top-performing keywords
| Keyword | Impressions | CTR | Conv. | CPC |
|---|---|---|---|---|
| basement renovation Richmond Hill | 3,240 | 4.2% | 8 | $12 |
| full home renovation GTA | 2,890 | 3.1% | 5 | $9.50 |
| kitchen renovation Vaughan | 1,750 | 3.8% | 3 | $11 |
| bathroom remodel Markham | 1,200 | 2.4% | 2 | $7 |
Pipelines
Suggested templates
Start from one of these — click to add it to your list.
Current pipelines
Question bank
Threshold setting
Questions
Client calendar
Site visits
Manage access
Current members
Access rules
- Playbook — All permanent members: Read. Owner: Edit.
- SOPs — Each owner: Read/Edit their own SOP. Others: Read.
- Clients — All team: Read/Edit.
- Templates — All: Read. Owner: Edit.
- Team — All: Read. Owner: Edit.
- Meeting notes — All: Read/Edit.
- Call log — Anahita: Write. Others: Read.
- Ads report — Hamed + Reza + Owner. Others: no access.
- Pipelines — All: Read/Edit.
- Documents (Invoices/Contracts/Proposals) — Anahita: Create/Edit. Mohammad: Approve. Others: Read.
- Manage access — Owner only.
Invoices
This month
Filter
Contracts
{{client_name}} and {{project_value}}. Flow: Anahita fills the values → Mohammad approves → Contract is sent to the homeowner for e-signature → the workspace tracks when it was opened and signed.Filter
Proposals
Filter
Contract templates
{{client_name}}, {{project_value}}, {{project_type}}. When Anahita builds a real contract, she picks the template and fills in the values — the placeholders are replaced automatically. Templates should be reviewed by a lawyer before going live.