Your Asset LibraryOutdoor Vibes

Lead Generation & Automation

Lead-Flow Diagram

A one-page map of exactly how a lead moves from ad click to booked job.


Client: Jack Weiner / Outdoor Vibes | Market: Scottsdale, AZ Date: May 2026


How to Read This Document

This document maps every lead touchpoint — from first click to five-star review — across both brands. Five Mermaid diagrams are provided, each zooming into a different layer of the system. A plain-text summary table follows the diagrams.

Brand Note: AZ Palm Tree Lights (APTL) and Trimlight Phoenix (TLP) share the same automation infrastructure but are tracked separately in every sheet, sequence, and Jobber pipeline. They are never conflated.


Diagram 1 — Master Overview

High-level view of all leads flowing through the system from source to retention.

flowchart TD
    classDef source fill:#1a73e8,color:#fff,stroke:#1558b0
    classDef automation fill:#6c3fc5,color:#fff,stroke:#4a2a8a
    classDef crm fill:#0f9d58,color:#fff,stroke:#0a7340
    classDef comms fill:#f4511e,color:#fff,stroke:#c23b12
    classDef reporting fill:#607d8b,color:#fff,stroke:#37474f
    classDef decision fill:#fbbc04,color:#1a1a1a,stroke:#e0a800

    subgraph SOURCES["LEAD SOURCES"]
        S1[Meta Lead Form Ad]:::source
        S2[Google Ads Call]:::source
        S3[Google Ads Landing Page]:::source
        S4[GBP Call]:::source
        S5[Website Form — APTL]:::source
        S6[Website Form — TLP]:::source
        S7[CX Survey — Fillout]:::source
        S8[Yard Sign QR]:::source
        S9[HOA / Partner Referral]:::source
        S10[Nextdoor]:::source
    end

    subgraph INTAKE["CENTRAL ROUTING — n8n + Google Sheets"]
        N1[n8n Intake Webhook]:::automation
        N2{Duplicate Check}:::decision
        N3[Tag: Source + Brand + Tier + UTMs]:::automation
        N4[Master Lead Tracker — Google Sheets]:::automation
    end

    subgraph OUTREACH["OUTREACH — Quo + Resend"]
        Q1[Create / Update Quo Contact]:::comms
        Q2{Which Sequence?}:::decision
        Q3[Sequence 1: New Lead SMS]:::comms
        Q4[Sequence 2: Survey Hot Lead SMS]:::comms
        Q5{Responded?}:::decision
        Q6[Email Nurture — Resend\n5-touch drip]:::comms
        Q7[Notify your ops/marketing manager — email]:::comms
    end

    subgraph CONVERSION["CONVERSION — Jobber"]
        J1[Jack Calls / Quotes]:::crm
        J2[Jobber Quote Sent]:::crm
        J3{Quote Approved?}:::decision
        J4[Jobber Job Created]:::crm
        J5[Job Scheduled]:::crm
        J6[Job Completed]:::crm
    end

    subgraph RETENTION["POST-SALE + RETENTION"]
        R1[Sequence 4: Review Request SMS]:::comms
        R2[Google Review Posted]:::crm
        R3[Referral Ask]:::comms
        R4[Sequence 3: Reactivation SMS\n30+ day cold leads]:::comms
    end

    subgraph REPORTING["ATTRIBUTION + REPORTING"]
        A1[CallRail — call tracking]:::reporting
        A2[GA4 — web events + UTMs]:::reporting
        A3[Attribution Tracker — Sheets]:::reporting
        A4[Looker Studio Dashboard]:::reporting
    end

    S1 & S2 & S3 & S4 & S5 & S6 & S7 & S8 --> N1
    S9 & S10 --> N4
    N1 --> N2
    N2 -- New Lead --> N3
    N2 -- Duplicate --> N4
    N3 --> N4
    N4 --> Q1
    Q1 --> Q2
    Q2 -- Standard new lead --> Q3
    Q2 -- Survey hot lead --> Q4
    Q3 & Q4 --> Q5
    Q3 --> Q7
    Q5 -- No response --> Q6
    Q5 -- Responds --> J1
    Q6 --> J1
    J1 --> J2
    J2 --> J3
    J3 -- Approved --> J4
    J3 -- No decision --> R4
    J4 --> J5 --> J6
    J6 --> R1
    R1 --> R2 --> R3
    S2 & S4 --> A1
    S3 & S5 & S6 --> A2
    A1 & A2 --> A3 --> A4

Diagram 2 — Lead Source Detail

Zoomed in on every source, its entry point, and how it connects to n8n / Google Sheets.

flowchart LR
    classDef paid fill:#1a73e8,color:#fff,stroke:#1558b0
    classDef organic fill:#0f9d58,color:#fff,stroke:#0a7340
    classDef referral fill:#f4511e,color:#fff,stroke:#c23b12
    classDef automation fill:#6c3fc5,color:#fff,stroke:#4a2a8a
    classDef sheet fill:#34a853,color:#fff,stroke:#1e7e34
    classDef callrail fill:#ff6f00,color:#fff,stroke:#e65100

    subgraph PAID["PAID SOURCES"]
        P1["Meta Lead Form Ad\n(APTL or TLP campaign)"]:::paid
        P2["Google Ads — Click-to-Call\n(brand-specific number)"]:::paid
        P3["Google Ads — Landing Page Form\n(azpalmtreelights.com/google\nor trimlightphoenix.com/google)"]:::paid
    end

    subgraph ORGANIC["ORGANIC / LOCAL"]
        O1["GBP — Calls\n(brand-specific GBP listing)"]:::organic
        O2["Website Form — APTL\nazpalmtreelights.com/contact"]:::organic
        O3["Website Form — TLP\ntrimlightphoenix.com/contact"]:::organic
        O4["Yard Sign QR Code\n→ azpalmtreelights.com/quote\nor trimlightphoenix.com/quote"]:::organic
        O5["Nextdoor\n(manual entry by your ops/marketing manager)"]:::organic
    end

    subgraph REFERRAL["REFERRAL / WARM"]
        R1["CX Survey — Fillout\n(Trimlight post-install)"]:::referral
        R2["HOA / Partner Referral\n(manual entry by your ops/marketing manager)"]:::referral
    end

    subgraph CALLRAIL["CALLRAIL — CALL TRACKING"]
        CR1["CallRail Pool\n(Meta Ads number)"]:::callrail
        CR2["CallRail Pool\n(Google Ads number)"]:::callrail
        CR3["CallRail Pool\n(GBP number)"]:::callrail
        CR4["CallRail Pool\n(Organic / direct number)"]:::callrail
    end

    subgraph N8N["n8n WEBHOOKS"]
        W1["Webhook: meta-lead\n/webhook/meta-aptl\n/webhook/meta-tlp"]:::automation
        W2["Webhook: callrail-inbound\n/webhook/callrail"]:::automation
        W3["Webhook: lp-form\n/webhook/google-form"]:::automation
        W4["Webhook: website-contact\n/webhook/aptl-contact\n/webhook/tlp-contact"]:::automation
        W5["Webhook: cx-survey\n/webhook/fillout-cx"]:::automation
        W6["Webhook: yard-sign-form\n/webhook/yard-sign"]:::automation
        MANUAL["Manual Entry\ndirectly into Sheets"]:::automation
    end

    subgraph SHEETS["GOOGLE SHEETS — Master Lead Tracker"]
        SH1["Tab: APTL Leads"]:::sheet
        SH2["Tab: TLP Leads"]:::sheet
        SH3["Tab: All Sources Combined"]:::sheet
    end

    P1 --> W1
    P2 --> CR2 --> W2
    P3 --> W3
    O1 --> CR3 --> W2
    O2 --> W4
    O3 --> W4
    O4 --> W6
    O5 --> MANUAL
    R1 --> W5
    R2 --> MANUAL
    CR1 -.->|Meta calls if enabled| W2

    W1 & W2 & W3 & W4 & W5 & W6 --> SH3
    MANUAL --> SH3

    W1 -- brand=APTL --> SH1
    W1 -- brand=TLP --> SH2
    W4 -- brand=APTL --> SH1
    W4 -- brand=TLP --> SH2

Diagram 3 — Nurture Engine

SMS sequences in Quo plus email drip via Resend, with timing and all exit conditions.

flowchart TD
    classDef sms fill:#1a73e8,color:#fff,stroke:#1558b0
    classDef email fill:#f4511e,color:#fff,stroke:#c23b12
    classDef decision fill:#fbbc04,color:#1a1a1a,stroke:#e0a800
    classDef exit fill:#0f9d58,color:#fff,stroke:#0a7340
    classDef wait fill:#607d8b,color:#fff,stroke:#37474f

    START([New Lead Enters System])

    subgraph SEQ1["SEQUENCE 1 — New Lead SMS (Quo)"]
        S1A["SMS 1: Immediate\n'Hi [Name], this is Jack with\n[Brand] — saw you were interested\nin [service]. Can I grab 5 min\nthis week to talk options?'"]:::sms
        S1B["Wait 4 hours"]:::wait
        S1C{Replied?}:::decision
        S1D["SMS 2: Same day or next morning\n'Just wanted to make sure\nyou got my message! Any\nquestions I can answer?'"]:::sms
        S1E["Wait 24 hours"]:::wait
        S1F{Replied?}:::decision
        S1G["SMS 3: Day 3\n'Last follow-up — happy to\nsend over some examples of\nour work in your area if helpful.'"]:::sms
        S1H["Wait 48 hours"]:::wait
        S1I{Replied?}:::decision
    end

    subgraph SEQ2["SEQUENCE 2 — Survey Hot Lead SMS (Quo)"]
        S2A["SMS 1: Immediate\n'Hi [Name], Jack here — you\nmentioned interest in palm tree\nlighting on the survey. We just\nlaunched AZ Palm Tree Lights\nand I'd love to show you\nwhat we do. Have 10 min?'"]:::sms
        S2B["Wait 2 hours"]:::wait
        S2C{Replied?}:::decision
        S2D["SMS 2: Same day\n'Sending over a few install\nphotos from your neighborhood.\n[photo link] — any of these\ncatch your eye?'"]:::sms
        S2E["Wait 24 hours"]:::wait
        S2F{Replied?}:::decision
    end

    subgraph SEQ3["SEQUENCE 3 — Reactivation SMS (Quo — 30+ day cold)"]
        S3A["SMS 1: Month +1\n'Hey [Name], Jack from [Brand].\nJust checking in — we have a\nfew open install slots this month\nif you're still thinking about it.'"]:::sms
        S3B["Wait 3 days"]:::wait
        S3C{Replied?}:::decision
        S3D["SMS 2: Month +1 Day 4\n'No pressure at all — just\nwanted to share our newest\ninstall: [photo link]. We're\nbooking out fast this season.'"]:::sms
    end

    subgraph SEQ4["SEQUENCE 4 — Post-Install (Quo)"]
        S4A["SMS 1: Day after completion\n'Hi [Name]! Hope you're loving\nyour new [lights]. Would mean\nthe world if you left us a quick\nreview: [Google link]'"]:::sms
        S4B["Wait 48 hours"]:::wait
        S4C{Reviewed?}:::decision
        S4D["SMS 2: Day +3\n'Thank you so much! Also — do\nyou know anyone who might love\nthis? We'd love to earn the referral.'"]:::sms
    end

    subgraph EMAIL["EMAIL NURTURE — Resend (5-touch drip)"]
        E1["Email 1 — Immediate\nSubject: 'Welcome to [Brand] —\nhere's what to expect'\nContent: intro, what we do,\nhow the process works"]:::email
        E2["Email 2 — Day +2\nSubject: 'Your top questions answered'\nContent: FAQ, pricing range,\ntimeline, before/after photos"]:::email
        E3["Email 3 — Day +5\nSubject: '[Neighbor's name] in\nScottsdale just got installed'\nContent: testimonials, Google\nreviews, case studies"]:::email
        E4["Email 4 — Day +8\nSubject: 'Ready to get a quote?'\nContent: soft CTA, 'book a\n15-min call', link to Jobber booking"]:::email
        E5["Email 5 — Day +14\nSubject: 'We're booking out for\n[Season] — last few slots'\nContent: urgency, seasonal\nscarcity, strong CTA"]:::email
    end

    BOOKED([Lead Books Call / Converted]):::exit
    UNSUB([Unsubscribed]):::exit
    COLD([Marked Cold — no further outreach]):::exit

    %% Entry routing
    START --> |Standard new lead| SEQ1
    START --> |Survey hot lead| SEQ2

    %% Sequence 1 flow
    S1A --> S1B --> S1C
    S1C -- Yes --> BOOKED
    S1C -- No --> S1D
    S1D --> S1E --> S1F
    S1F -- Yes --> BOOKED
    S1F -- No --> S1G
    S1G --> S1H --> S1I
    S1I -- Yes --> BOOKED
    S1I -- No, sequence complete --> EMAIL

    %% Sequence 2 flow
    S2A --> S2B --> S2C
    S2C -- Yes --> BOOKED
    S2C -- No --> S2D
    S2D --> S2E --> S2F
    S2F -- Yes --> BOOKED
    S2F -- No, sequence complete --> EMAIL

    %% Email drip flow
    E1 --> E2 --> E3 --> E4 --> E5
    E5 --> COLD

    %% Email exit conditions
    E1 & E2 & E3 & E4 & E5 -- Replies or books call --> BOOKED
    E1 & E2 & E3 & E4 & E5 -- Unsubscribes --> UNSUB

    %% Reactivation
    COLD --> |30+ days pass| SEQ3
    S3A --> S3B --> S3C
    S3C -- Yes --> BOOKED
    S3C -- No --> S3D
    S3D --> COLD

    %% Post-install
    BOOKED -.->|After job completed| SEQ4
    S4A --> S4B --> S4C
    S4C -- Yes --> S4D
    S4C -- No reviewed yet --> S4D

Diagram 4 — Attribution Flow

How every touchpoint is tagged, tracked, and reported back to source.

flowchart TD
    classDef source fill:#1a73e8,color:#fff,stroke:#1558b0
    classDef tracking fill:#f4511e,color:#fff,stroke:#c23b12
    classDef sheet fill:#34a853,color:#fff,stroke:#1e7e34
    classDef reporting fill:#607d8b,color:#fff,stroke:#37474f
    classDef decision fill:#fbbc04,color:#1a1a1a,stroke:#e0a800

    subgraph SOURCES["TOUCH POINT"]
        T1["Meta Lead Form Ad"]:::source
        T2["Google Ads — Click-to-Call"]:::source
        T3["Google Ads — Landing Page Form"]:::source
        T4["GBP Call"]:::source
        T5["Organic Website Visit\n(no ad click)"]:::source
        T6["Yard Sign QR Code"]:::source
        T7["Referral / Nextdoor\n(manual)"]:::source
    end

    subgraph TRACKING["TRACKING LAYER"]
        CR["CallRail\n- Unique number per source\n- Whisper: 'Google Ads' / 'GBP'\n- Records call duration\n- Fires n8n webhook on ring"]:::tracking
        GA["GA4 Events\n- form_submit\n- page_view: /thank-you\n- UTM params captured\n- Meta Pixel fires on same page"]:::tracking
        META["Meta Pixel\n- PageView\n- Lead event on form submit\n- Custom audience: all visitors\n- Custom audience: thank-you page"]:::tracking
        UTM["UTM Parameters\n- utm_source: meta | google | gbp\n  organic | yard-sign | referral\n- utm_medium: cpc | organic\n  | qr | referral\n- utm_campaign: campaign name\n- utm_content: ad set / creative"]:::tracking
    end

    subgraph TAGS["n8n TAGGING on INTAKE"]
        TAG1["source_tag: meta_aptl | meta_tlp\ngoogle_lp_aptl | google_call\ngbp_call | organic_aptl\norganic_tlp | yard_sign\nreferral | nextdoor | cx_survey"]:::sheet
        TAG2["brand_tag: APTL | TLP"]:::sheet
        TAG3["tier_tag: hot | warm | cold\n(hot = survey/referral/direct call\nwarm = form fill\ncold = retargeting / cold list)"]:::sheet
        TAG4["timestamp, UTMs, phone, email\nlead_id (deduplicated UUID)"]:::sheet
    end

    subgraph SHEETS["GOOGLE SHEETS"]
        SH1["Master Lead Tracker\n- All columns: name, phone, email,\n  source, brand, tier, status,\n  date, UTMs, sequence enrolled,\n  Jobber quote #, outcome"]:::sheet
        SH2["Attribution Tracker\n- Weekly roll-up by source\n- Columns: source | leads | quotes\n  | jobs | revenue | CPL | CPA\n  | close rate"]:::sheet
        SH3["CallRail Log\n- Auto-populated from CallRail webhook\n- Call date, duration, source #,\n  caller ID, recording link"]:::sheet
    end

    subgraph REPORTING["REPORTING LAYER"]
        LS["Looker Studio Dashboard\n- Pulls from all Sheets tabs\n- Charts: leads by source (bar)\n  CPL trend (line), close rate\n  by source (table), revenue\n  by brand (pie)\n- Refreshes every 4 hours"]:::reporting
        MONTHLY["Monthly Report to Jack\n- your ops/marketing manager compiles from Looker\n- Top sources by CPL and CPA\n- Which sequences converted best\n- Budget recommendation for next month"]:::reporting
    end

    T1 --> META & UTM
    T2 --> CR
    T3 --> GA & UTM
    T4 --> CR
    T5 --> GA & META
    T6 --> UTM & GA
    T7 --> TAG1

    CR --> TAG1
    GA --> TAG1
    META --> TAG1
    UTM --> TAG1

    TAG1 & TAG2 & TAG3 & TAG4 --> SH1

    SH1 --> SH2
    CR --> SH3

    SH1 & SH2 & SH3 --> LS
    LS --> MONTHLY

Diagram 5 — Post-Sale Loop

Review collection, referral engine, and reactivation loop.

flowchart TD
    classDef job fill:#0f9d58,color:#fff,stroke:#0a7340
    classDef sms fill:#1a73e8,color:#fff,stroke:#1558b0
    classDef email fill:#f4511e,color:#fff,stroke:#c23b12
    classDef meta fill:#6c3fc5,color:#fff,stroke:#4a2a8a
    classDef decision fill:#fbbc04,color:#1a1a1a,stroke:#e0a800
    classDef outcome fill:#607d8b,color:#fff,stroke:#37474f

    JOB_DONE(["Jobber: Job Status = Completed"]):::job

    subgraph REVIEW["REVIEW REQUEST — Sequence 4 (Quo SMS)"]
        R1["SMS Day +1\n'Hope you're loving your lights!\nWould you mind leaving us\na quick Google review?\n[link]'"]:::sms
        R2{Left Review?}:::decision
        R3["SMS Day +3\n'Thank you! Your review means\na lot to a small local business.\nKnow anyone who might want\nthis for their home?'"]:::sms
        R4["SMS Day +5\n(if no review yet)\n'We'd really appreciate it —\ntakes 60 seconds! [link]'"]:::sms
    end

    subgraph REFERRAL["REFERRAL ENGINE"]
        REF1["Referral Ask via SMS\n+ follow-up email via Resend\n'Send us a friend and we'll\ngive you [incentive] on\nyour next service'"]:::sms
        REF2{Referral Provided?}:::decision
        REF3["New lead entered manually\ninto Master Lead Tracker\nsource_tag = referral\ntier = hot"]:::job
    end

    subgraph REACTIVATION["REACTIVATION LOOP"]
        COLD1["Quoted — never approved\n(Jobber: Quote status = Sent, no approval\nafter 30 days)"]:::job
        COLD2["Past leads — no conversion\n(Master Lead Tracker: status = cold\nafter 30+ days)"]:::job
        COLD3["Email non-openers\n(Resend: opened = false\nafter 7 days)"]:::email
        REACT1["Sequence 3: Reactivation SMS\n(Quo — 2-touch, 3 days apart)"]:::sms
        REACT2["Re-send Email with\nnew subject line\n(Resend one-off trigger from n8n)"]:::email
        REACT3["Meta Retargeting Audience\n'Quoted but not booked'\n(manual upload to Meta\nmonthly, via email CSV)"]:::meta
    end

    subgraph GOOGLE["GOOGLE REVIEW POSTED"]
        GR1["New Google Review Live\non APTL or TLP listing"]:::outcome
        GR2["your ops/marketing manager screenshots + saves\nfor use in ad creative +\nemail nurture social proof"]:::outcome
    end

    JOB_DONE --> R1
    R1 --> R2
    R2 -- Yes --> R3 & GR1
    R2 -- No --> R4 --> R2
    R3 --> REF1
    GR1 --> GR2

    REF1 --> REF2
    REF2 -- Yes --> REF3
    REF2 -- No --> COLD2

    REF3 --> |Back into main\nnurture flow| R1

    COLD1 --> REACT1 & REACT3
    COLD2 --> REACT1
    COLD3 --> REACT2

    REACT1 --> |Responds| JOB_DONE
    REACT2 --> |Opens + books| JOB_DONE
    REACT3 --> |Clicks ad| JOB_DONE

Legend

Symbol Meaning
Rectangle System action or data node
Diamond Decision / branch point
Rounded rectangle Start or end state
Blue nodes Lead sources or SMS outreach (Quo)
Purple nodes Automation layer (n8n)
Green nodes CRM / data storage (Jobber, Google Sheets)
Red / Orange nodes Email outreach (Resend) or call tracking (CallRail)
Gray nodes Reporting and analytics
Yellow nodes Decision points in logic

Summary Table — Source-to-System Mapping

Source n8n Webhook Sheet Tab SMS Sequence Email Sequence Jobber Action Attribution Tag
Meta Lead Form — APTL /webhook/meta-aptl APTL Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call meta_aptl
Meta Lead Form — TLP /webhook/meta-tlp TLP Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call meta_tlp
Google Ads Click-to-Call /webhook/callrail (via CallRail) All Sources Sequence 1 (if voicemail) 5-touch drip (if no callback) Quote on call google_call
Google Ads Landing Page Form — APTL /webhook/google-form APTL Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call google_lp_aptl
Google Ads Landing Page Form — TLP /webhook/google-form TLP Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call google_lp_tlp
GBP Call — APTL /webhook/callrail (via CallRail) APTL Leads Sequence 1 (if voicemail) 5-touch drip (if no callback) Quote on call gbp_aptl
GBP Call — TLP /webhook/callrail (via CallRail) TLP Leads Sequence 1 (if voicemail) 5-touch drip (if no callback) Quote on call gbp_tlp
Website Contact Form — APTL /webhook/aptl-contact APTL Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call organic_aptl
Website Contact Form — TLP /webhook/tlp-contact TLP Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call organic_tlp
CX Survey — Fillout (Hot) /webhook/fillout-cx TLP Leads Sequence 2 5-touch drip (if no SMS reply) Quote on call cx_survey_hot
CX Survey — Fillout (Warm/Cold) /webhook/fillout-cx TLP Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call cx_survey_warm
Yard Sign QR — APTL /webhook/yard-sign APTL Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call yard_sign_aptl
Yard Sign QR — TLP /webhook/yard-sign TLP Leads Sequence 1 5-touch drip (if no SMS reply) Quote on call yard_sign_tlp
HOA / Partner Referral Manual entry All Sources Sequence 1 or 2 (at your ops/marketing manager's discretion) 5-touch drip (if no SMS reply) Quote on call referral
Nextdoor Manual entry All Sources Sequence 1 5-touch drip (if no SMS reply) Quote on call nextdoor
Post-sale referral (from existing customer) Manual entry All Sources Sequence 2 (warm context) Quote on call referral
Reactivation — 30+ day cold n8n scheduled trigger All Sources Sequence 3 Re-send email (new subject) Quote on call original tag preserved
Quoted — never approved Jobber status webhook All Sources Sequence 3 Re-send email (new subject) Reopen quote retarget_quoted

System Health Checklist

Use this monthly to verify the automation stack is running correctly.

Check How to Verify Owner
All webhooks responding Send a test lead through each source; confirm it appears in Master Lead Tracker within 2 min your ops/marketing manager
Duplicate check working Submit same phone number twice; second row should be flagged, not double-enrolled in Quo your ops/marketing manager
CallRail numbers routing correctly Call each tracking number; confirm source tag in Sheets matches expected source your ops/marketing manager
Quo sequences firing on schedule Check Quo contact timeline for a recent lead; confirm SMS 1 sent immediately Jack / your ops/marketing manager
Resend drip triggering after SMS sequence Manually verify a lead that didn't reply to SMS is enrolled in Resend after sequence ends your ops/marketing manager
Jobber quote webhook firing to Sheets Approve a test quote; confirm "Quote Sent" status updates in Master Lead Tracker your ops/marketing manager
Looker Studio refreshing Open dashboard; confirm "Last updated" timestamp is within 4 hours your ops/marketing manager
Attribution Tracker updating Check Attribution Tracker tab; confirm weekly CPL/CPA numbers look reasonable your ops/marketing manager
Post-install SMS firing Mark a job Complete in Jobber; confirm Sequence 4 SMS fires within 1 hour your ops/marketing manager
Meta Pixel firing Use Meta Pixel Helper browser extension on both websites; confirm Lead event on form submit your ops/marketing manager

Part of your Outdoor Vibes asset library — yours to keep and run.

— Andrew