Pricing Pages: structure, anchor pricing, schema, A/B testing
A comprehensive operational reference for pricing four pillar search visibility services profitably and sustainably. Pricing decisions affect every aspect of the agency: which clients you attract,…
The Canonical 2026 Reference for SEO, AEO, AIO, and GEO Service Pricing, Tier Construction, Retainer Architecture, Contracting, and the Discipline of Profitable Service Pricing
A comprehensive operational reference for pricing four pillar search visibility services profitably and sustainably. Pricing decisions affect every aspect of the agency: which clients you attract, profitability per engagement, growth trajectory, team capacity, output quality. The 2026 landscape has bifurcated. Commodity SEO clusters between $500 and $2,500 per month and is automated. Advanced AI search aware SEO clusters between $5,000 and $25,000 per month and requires specialized expertise, custom tooling, dedicated strategist time. The discipline of pricing is choosing which side the agency lives on, then defending the floor that makes the work profitable to deliver.
Cross stack note: code samples are bash, yaml, markdown. Proposal templates, contracts, and rate cards live at
/home/user/templates/proposals/and/home/user/templates/contracts/on Bubbles.
1. Document Purpose
1.1 What This Document Is
Pricing is one of the most consequential decisions a services agency makes and one of the most often improvised. Consultants undercharge fearing losing the deal. Agencies build complex pricing that confuses clients. Solo practitioners price by feel and discover at year end the effective hourly rate is below a junior developer's.
This framework specifies principles, structures, calculation methods, and decision frameworks for pricing four pillar search visibility services. Output: a defensible rate card, a tier architecture aligned with the AI search aware market, a retainer structure supporting patient work on citations and entity reconciliation, a contracting stack protecting both parties, and a pricing conversation protocol that survives pushback without margin erosion.
1.2 Why Pricing Is a Strategic Discipline
Three structural reasons. First, pricing determines client mix. Agencies pricing at $1,500 per month attract small businesses with small expectations and high support burden per dollar. Agencies at $10,000 per month attract growth stage and enterprise buyers with budget tolerance and patience to let foundational work compound. The agency does not choose its clients directly; the agency chooses prices and prices choose clients.
Second, pricing determines the labor margin available for quality output. AI surface optimization requires sustained citation defense, entity graph maintenance, multi engine monitoring, and specialized tooling. An agency below floor delivers thin output, loses the client at month nine, and trades CLV for short term cash flow.
Third, pricing positions the agency in market. The 2026 buyer landscape segments by price tolerance rigidly. A buyer evaluating $1,500 proposals is shopping commodity. A buyer at $10,000 is shopping expertise. A proposal at the wrong tier signals wrong category and loses regardless of merit.
1.3 The Pricing Operating Model
Pricing operates as a quarterly review cycle with annual repricing for existing clients. The rate card lives at /home/user/templates/proposals/rate-card-current.yaml and is versioned with date appended filenames per Section 14. New engagements bind to rate card current at signature. Existing reprice on annual anniversary per Section 12. Reviewed quarterly against Credo, Pulse, and internal close rate analysis.
The pricing decision for a specific proposal happens in three steps. Step one: classify the engagement (Starter, Growth, Enterprise) per Section 4 using site size, vertical, and AI surface scope. Step two: scope labor hours per Section 6 using the four quadrant scope matrix. Step three: validate against the floor calculation per Section 13. If steps two and three disagree, scope or price needs adjustment.
1.4 Three Operating Modes
Mode A, Install Mode, build the pricing infrastructure from scratch. Sections 2 through 14 in order.
Mode B, Audit Mode, evaluate existing pricing against the 14 section checklist. Common findings: missing floor calculation, rate card not updated in 18 months, no AI search premium tier, no annual escalation, no MSA, hourly rate too low.
Mode C, Hybrid Mode, audit first then install for gaps. Standard for agencies in transition.
1.5 Required Inputs
A documented cost structure (Section 13), a clear positioning thesis, an addressable market segmentation, and the principal's read on competitive distinctness. Without these, pricing is guessing.
2. Client Variables Intake
The intake captures every variable a pricing decision references. Stored at /home/user/clients/[clientname]/pricing-intake.yaml and cross referenced from framework-clientonboarding.md Section 2.
# PRICING FRAMEWORK INTAKE
# --- Business and Engagement Identity ---
business_legal_name: ""
primary_domain: ""
industry_vertical: ""
ymyl_classification: "" # full_ymyl, partial_ymyl, lite_ymyl, non_ymyl
business_model: "" # b2b, b2c, marketplace, publisher, saas, local_service
geographic_focus: "" # local, regional, national, multi_national
employee_count: 0
annual_revenue_band: "" # under_1m, 1_to_5m, 5_to_25m, 25_to_100m, 100m_plus
# --- Site Scope ---
indexable_page_count: 0
content_publishing_cadence_per_month: 0
multi_brand: false
multi_region: false
languages_count: 1
cms_platform: ""
# --- AI Surface Scope ---
ai_overview_priority_query_count: 0
perplexity_priority_query_count: 0
searchgpt_priority_query_count: 0
multi_engine_strategy: false
ai_citation_monitoring_tool: ""
# --- Engagement Scope ---
engagement_type: "" # retainer, project, hourly, hybrid
scope_quadrant_surfaces: "" # narrow, standard, wide, full
scope_quadrant_content: "" # low, medium, high, very_high
scope_quadrant_technical: "" # light, standard, deep, enterprise
scope_quadrant_reporting: "" # monthly, monthly_plus_quarterly, weekly_plus, executive
# --- Commercial Constraints ---
client_budget_band: ""
client_budget_floor: 0
client_budget_ceiling: 0
contract_term_preference: "" # month_to_month, 6_month, 12_month, 24_month
payment_terms_preference: "" # net_15, net_30, monthly_advance, milestone
billing_cycle: ""
payment_method: ""
# --- Stakeholder and Procurement ---
budget_approver: ""
budget_approver_title: ""
procurement_process: "" # informal, formal_rfp, procurement_review, federal
mssa_required: false
sla_required: false
nda_required: false
# --- Engagement History ---
prior_seo_partner: ""
prior_monthly_spend: 0
prior_engagement_outcome: "" # successful, mixed, failed, never_engaged
# --- Operational ---
hours_per_month_estimated: 0
team_composition_required: []
specialty_skills_required: []
# --- Pricing Floor Inputs ---
fully_loaded_labor_cost_per_hour: 0
tool_stack_cost_per_month_allocated: 0
overhead_allocation_per_month: 0
target_gross_margin_percent: 0
minimum_viable_retainer_calculated: 0
# --- Add Ons ---
audit_one_off: false
training_workshop: false
expert_witness_potential: false
dev_integration_sprint: false
content_production_overflow: false
ai_citation_reclamation: false
The intake is filled during discovery per framework-clientonboarding.md Section 3. It feeds the proposal generation script at /home/user/templates/proposals/generate-proposal.sh which composes markdown from intake variables, renders to PDF via Pandoc, and writes output to /var/www/sites/[clientdomain]/proposals/[clientshort]-proposal-[YYYY-MM-DD].pdf.
A common failure mode is leaving floor inputs blank. The fully loaded labor cost, tool stack allocation, overhead allocation, and target gross margin are the calculation inputs that turn a guess into a defensible price. Section 13 walks the calculation.
3. The 2026 Pricing Landscape
3.1 Market Data Sources
Three primary data sources inform 2026 pricing. Credo 2025 agency survey of 380 agencies (October 2025): median monthly SEO retainer $4,500, mean $5,800, 25th percentile $2,200, 75th percentile $7,500, 90th percentile $14,000. Pulse Industry Report January 2026 (sample 1,150 agencies, 2,400 buyers): AI search aware engagements priced 2.3x traditional SEO at equivalent scope; mature agencies report 67 percent retainer, 23 percent project, 10 percent hourly. SparkToro and Detective 2026 buyer survey (sample 740 in house decision makers): price tolerance bifurcated, 38 percent willing to pay $5,000 plus per month, 52 percent capped at $3,500 or below, 10 percent in the $3,500 to $5,000 gap.
The bifurcation is the most important 2026 market structure pattern. The $3,500 to $5,000 gap is no man's land where neither commodity nor premium buyers cluster. Agencies pricing in the gap struggle for differentiation and close rate. The strategic choice is to price below (commodity, high volume, automated) or above (premium, low volume, expertise driven). The middle is where agencies fail.
3.2 The Bifurcation in Detail
Commodity SEO in 2026 delivers standardized output at low margin via heavy automation. Typical: $500 to $2,500 per month, 5 to 15 hours of labor, automated keyword research, templated briefs, off the shelf dashboards. Buyer profile: small businesses with limited budget, low strategic complexity. Delivery: 15 to 40 accounts per AM, thin margin, profit from scale.
Advanced AI search aware SEO delivers specialized expertise at premium margin via dedicated strategist time. Typical: $5,000 to $25,000 per month, 30 to 120 hours of labor, multi engine monitoring per framework-aicitations.md, entity graph per framework-eeat.md, digital PR per framework-digitalpr.md, bespoke reporting per framework-reporting.md. Buyer: growth stage and enterprise with strategic complexity, multi surface ambition, board level KPI accountability. Delivery: 3 to 8 accounts per senior strategist, thick margin, profit from expertise capture.
The Pulse 2026 finding of 2.3x premium is the clearest signal of bifurcation. Buyers pay 2.3x because the work requires specialized expertise (multi engine query analysis, citation reclamation, entity reconciliation) and specialized tooling (Profound, Otterly, Athena HQ, BrightEdge AI Catalyst, Semrush AI Toolkit). The two markets are distinct.
3.3 Revenue Mix Patterns
The typical 2026 mix per Credo 2025: 67 percent retainer, 23 percent project, 10 percent hourly. The 67 percent retainer mix is the structural target. Retainer is predictable, supports headcount, compounds with tenure, and is the basis of agency valuation. Project is volatile. Hourly is a relationship investment that does not scale.
Agencies under 5 years tenure report inverted mixes (40 to 50 percent project, 30 to 40 percent retainer). Agencies over 10 years cluster at 75 percent plus retainer. The shift is the slow grind of converting project clients to retainer.
3.4 Geographic Pricing Variance
US median retainer $4,500. UK GBP 3,800 (about $4,750). Canada CAD 4,200 (about $3,100). Australia AUD 5,800 (about $3,800). Within the US, coastal markets (Bay Area, NYC, DC) price 30 to 50 percent above national median. Inland markets at or slightly below. The agency operating from Northwest Arkansas competes nationally and prices to national median or above; competing against local Arkansas agencies on price is a losing bet.
3.5 Trend Lines
Three trends from Pulse 2025 to Pulse 2026. AI surface premium expanded from 1.8x to 2.3x and is widening; expectation 2027 2.0x to 2.5x. Commodity floor compressed from $750 median in 2024 to $500 in 2026 driven by automation; expectation 2027 $400 or below. Middle gap emptied from 24 percent of buyers in 2024 to 10 percent in 2026; bifurcation accelerates.
4. Service Tier Architecture
The three tier architecture maps to 2026 buyer segmentation. Tiers are bound to specific labor hour, deliverable, and pricing parameters. Every proposal positions the client in one of three tiers; variation within a tier comes from scope quadrant adjustments per Section 6.
4.1 Starter Tier
starter_tier:
positioning: "Small business foundation"
monthly_price_range: 1500_to_3000
labor_hours: 8_to_15
contract_minimum: 6_months
target_profile: "Local service, small e commerce, professional practice; pages 50 to 500; local/regional; content 1 to 4/month; owner or marketing manager"
inclusions: "Monthly technical health check, GSC/GA4 monitoring, GBP optimization per framework-localseo.md, schema on top 20 pages, byline and reviewer template per framework-eeat.md, 1 to 2 content briefs/month per framework-contentbriefs.md, basic AI surface sampling (3 to 5 priority queries), monthly PDF report per framework-reporting.md, quarterly check in"
exclusions: "Custom dev, digital PR and link building, multi engine monitoring beyond sampling, travel or onsite"
Starter is a credible entry point, not a commodity offering. The agency does not compete against $500 per month providers. The floor per Section 13 places Starter at $1,800 minimum for solo, $2,500 for 3 person agencies. Discounting below floor destroys margin.
4.2 Growth Tier
growth_tier:
positioning: "Growing business comprehensive engagement"
monthly_price_range: 3500_to_7500
labor_hours: 20_to_40
contract_minimum: 12_months
target_profile: "Mid market B2B/e commerce/multi location; pages 500 to 5,000; regional/national; content 4 to 12/month; marketing director or VP"
inclusions: "All Starter, full technical SEO ongoing audit, content audit/remediation, 4 to 12 briefs/month per framework-contentbriefs.md, link building per framework-linkbuilding.md, digital PR per framework-digitalpr.md, AI surface monitoring across 4 engines (AIO, Perplexity, SearchGPT, Copilot), schema across full site, entity graph per framework-eeat.md, monthly check in plus quarterly executive review"
exclusions: "Custom dev sprints beyond tickets, onsite beyond annual planning, expert witness"
Credo 2025 reports 60 to 70 percent of mid market SEO retainer revenue clusters in $3,500 to $7,500. Target portfolio: 50 to 65 percent of clients in Growth.
4.3 Enterprise Tier
enterprise_tier:
positioning: "Enterprise four pillar strategic engagement"
monthly_price_range: 8000_to_25000_plus
labor_hours: 50_to_150
contract_minimum: 12_months
target_profile: "Enterprise B2B/e commerce/publishing/finance/healthcare; pages 5,000 plus; national/multi national; content 12 plus/month; VP, CMO, director of organic"
inclusions: "All Growth, dedicated senior strategist, multi engine reclamation per framework-aicitations.md, multi engine coordination per framework-multiengine-tradeoffs.md, custom dashboarding via Metabase or Grafana, bespoke technical sprints, quarterly onsite planning, executive reporting and board prep, crisis response SLA, annual strategy summit"
Enterprise engagements run $10,000 to $15,000 monthly for 5,000 to 25,000 page sites, $15,000 to $25,000 plus for sites above 25,000 pages or multi region complexity. Above $25,000 negotiates custom.
4.4 Tier Selection Heuristic
tier_selection:
starter_signals: "Pages under 500, revenue under $1M, single decision maker, local/regional, content 1 to 4/month, first time SEO"
growth_signals: "Pages 500 to 5,000, revenue $1M to $25M, team 2 to 10, regional/national, content 4 to 12/month, prior SEO experience, internal procurement or SOW"
enterprise_signals: "Pages 5,000 plus, revenue $25M plus, team 10 plus, multi region/brand, content 12 plus/month, board level KPI accountability, procurement and MSA negotiation"
Three or more signals at a tier indicates fit. The discovery sequence surfaces the signals. Pricing intake records the selection at engagement_tier.
4.5 Tier Boundaries and Movement
Clients move between tiers as the business grows. The agency anticipates upward movement by structuring Starter to surface Growth signals (cadence increase, team expansion, multi location). Annual review per Section 12 is the natural moment to propose upgrade. Downward movement is rare (budget cut, leadership change); accommodated with a 60 day transition.
5. Retainer vs Project vs Hourly
Three pricing models map to three engagement structures. Most engagements blend two or three; pure single model engagements are rare.
5.1 Retainer Model
retainer_model:
description: "Monthly recurring fee for defined scope of ongoing work"
pros: "Predictable revenue, long term relationships, compounds with tenure, headcount planning anchor, agency valuation basis"
cons: "Requires consistent value delivery, scope management discipline, margin erosion if scope creeps"
when_to_use: "Ongoing optimization across four pillars, long term partnerships at Growth or Enterprise, content velocity, multi engine citation maintenance"
contract_minimum: "6 months Starter, 12 months Growth and Enterprise"
billing_pattern: "Invoice first of month, Net 15, ACH preferred, annual prepay discount 5 percent optional"
The retainer is the structural target for 67 percent of agency revenue per Credo 2025. The operational charter per framework-clientonboarding.md Section 10 supports retainer engagement.
5.2 Project Model
project_model:
description: "Flat fee for defined deliverable bound by scope and timeline"
pros: "Predictable for client, rewards efficiency, easier first time sale, door opener for retainer"
cons: "Risk if scope underestimated, volatile revenue, higher sales effort per dollar than retainer"
when_to_use: "Initial audits, website builds, schema implementations, AI citation reclamation campaigns, discovery that may convert to retainer"
standard_project_types:
initial_audit: 3500_to_15000
website_migration_audit: 5000_to_25000
content_audit_and_remediation: 4000_to_12000
schema_deployment_sprint: 3000_to_10000
ai_surface_citation_reclamation: 5000_to_20000
digital_pr_campaign_sprint: 4000_to_15000
billing_pattern: "50/50 deposit/delivery, or 33-33-33 across kickoff/midpoint/delivery, or milestone billing above $15,000"
Project engagements are the door opener. A new client arriving via a $5,000 audit and converting to a $7,500 monthly Growth retainer is the standard growth pattern.
5.3 Hourly Model
hourly_model:
description: "Time based billing for ad hoc or strategic consultation"
pros: "Direct correlation with work, flexible scope, captures out of scope value"
cons: "Penalizes efficiency, capped at hours available, difficult to scale"
when_to_use: "Ad hoc consultations, out of scope additions to retainers, expert witness, one off prospect audits, training"
rate_card_2026:
junior_consultant: 150_to_200
mid_consultant: 200_to_275
senior_consultant: 275_to_375
principal_consultant: 375_to_500
expert_witness: 450_to_750
legal_deposition: 500_to_1000_with_4_hour_minimum
billing_pattern: "Bi weekly time tracking, Net 15, block hour pre purchase optional (20 hours at discounted rate)"
Hourly should not exceed 10 percent of agency revenue per Credo 2025. Above 10 percent, hourly is consuming retainer growth capacity.
5.4 The Hybrid Engagement
Most 2026 engagements blend two or three models. Standard hybrid: project audit ($5,000 to $15,000 flat fee delivered in onboarding) plus retainer (monthly recurring at tier price from day 31) plus hourly (out of scope at senior rate, 10 percent buffer in envelope absorbs minor overages). Predictable revenue plus flexibility plus out of scope capture.
5.5 Performance and Value Based Models (Cautionary)
Performance based pricing (fee tied to ranking, traffic, revenue milestones) and value based pricing (fee tied to estimated value delivered) rarely close. The 2026 discipline is selling defensible labor not speculative outcomes. Performance components are appropriate in narrow circumstances per Section 9: small fee portion tied to milestone (10 to 20 percent max), large portion tied to deliverable cadence. Pure performance fails because too many variables outside agency control (site downtime, stakeholder delays, market shifts, algorithm updates) determine outcome. Value based requires deep trust and measurable attribution; where appropriate it can capture 2x to 5x the cost plus floor, but most engagements do not warrant the sales cycle length.
6. Scoping Methodology
Scoping estimates labor hours, tool costs, and overhead allocation for an engagement. The four quadrant matrix decomposes scope into four independent dimensions, estimates labor per quadrant, and aggregates to total monthly hours.
6.1 The Four Quadrant Scope Matrix
four_quadrant_scope_matrix:
quadrant_1_surfaces:
narrow: { coverage: "SEO only", modifier: 1.0 }
standard: { coverage: "SEO plus AEO", modifier: 1.2 }
wide: { coverage: "SEO plus AEO plus AIO", modifier: 1.5 }
full: { coverage: "SEO plus AEO plus AIO plus GEO", modifier: 2.0 }
quadrant_2_content:
low: { cadence: "0 to 2/month", modifier: 1.0 }
medium: { cadence: "3 to 8/month", modifier: 1.3 }
high: { cadence: "9 to 16/month", modifier: 1.7 }
very_high: { cadence: "17 plus/month", modifier: 2.2 }
quadrant_3_technical:
light: { scope: "Meta tags, basic schema", modifier: 1.0 }
standard: { scope: "Full schema graph, audit cadence, tickets", modifier: 1.2 }
deep: { scope: "Custom dev sprints, template work, migration", modifier: 1.5 }
enterprise: { scope: "Multi region/brand, dedicated dev capacity", modifier: 2.0 }
quadrant_4_reporting:
monthly: { cadence: "Monthly PDF, quarterly check in", modifier: 1.0 }
monthly_plus_quarterly: { cadence: "Plus quarterly executive review", modifier: 1.1 }
weekly_plus: { cadence: "Weekly, monthly, quarterly", modifier: 1.25 }
executive: { cadence: "Weekly, monthly, quarterly, board prep, dashboards", modifier: 1.4 }
6.2 Scope Aggregation
Aggregate modifier = product of four quadrant modifiers, multiplied against base hours (10 to 12).
scope_aggregation_examples:
starter: "narrow x low x light x monthly = 1.0; 10 base hours = 10 monthly"
growth: "wide x medium x standard x monthly+quarterly = 2.57; 12 base hours = 31 monthly"
enterprise: "full x high x deep x weekly+ = 6.38; 12 base hours = 77 monthly"
Base hours represent irreducible engagement overhead: account management, monthly reporting, baseline monitoring. Specialty work scales from there.
6.3 Labor Estimation Per Quadrant
labor_per_quadrant_2026:
surfaces:
seo_baseline: 4_hours_per_month
aeo_addition: 2_hours_per_month
aio_addition: 6_hours_per_month
geo_addition: 8_hours_per_month
content:
per_brief: 2_to_4_hours
per_brief_review: 1_to_2_hours
post_publish_per_piece: 1_hour
editorial_calendar: 1_to_2_hours_per_month
technical:
ongoing_audit_monthly: 4_to_8_hours
schema_per_template: 2_to_4_hours
ticket_per_ticket: 0.5_to_2_hours
dev_sprint_per_two_weeks: 20_to_60_hours
reporting:
weekly_update: 1_to_2_hours_per_week
monthly_pdf: 4_to_8_hours_per_month
quarterly_executive: 8_to_16_hours_per_quarter
bespoke_dashboard: 2_to_4_hours_per_month
6.4 Scope Creep Prevention
Scope creep is the structural failure mode of retainer engagements. The discipline has three components.
First, the SOW per Section 7 specifies inclusions and exclusions exhaustively. Anything not in the SOW is out of scope. Out of scope work requires a change order or amendment.
Second, the monthly hours envelope is tracked. When hours trend toward 90 percent of envelope mid month, the agency notifies the client. When hours exceed envelope, additional work bills hourly or rolls to next month.
Third, the recurring monthly check in per framework-clientonboarding.md Section 10.4 includes scope review. Proactive surfacing of scope drift before it becomes creep is the discipline.
scope_creep_signals:
monthly_hours_over_envelope: "Repricing trigger"
recurring_ad_hoc_requests_not_in_sow: "Change order required"
client_expanding_stakeholders: "Likely scope expansion"
client_expanding_brands_or_regions: "Likely scope expansion"
delivery_quality_dropping: "Floor breach"
The agency that absorbs creep without repricing reaches year two at half effective hourly rate.
7. Contract Architecture
The contract architecture consists of three documents. The Master Services Agreement (MSA) governs the relationship and is signed once per client. The Statement of Work (SOW) defines a specific engagement and is signed per engagement or renewal. The Service Level Agreement (SLA) defines operational commitments and is referenced by the SOW. MSA handles legal terms that rarely change, SOW handles commercial terms per engagement, SLA handles operational terms.
7.1 Master Services Agreement Components
mssa_components:
parties: "Agency entity, client entity, effective date, renewal"
scope: "General description, reference to SOW for specifics"
fees_and_payment: "Net 15 standard, 1.5 percent monthly late interest, suspension on 30+ days past due"
intellectual_property: "Agency retains pre existing IP, client licensed deliverables, work for hire on bespoke content where specified, mutual case study reference with approval"
confidentiality: "Two way, survives 3 years, public information carve outs"
warranties: "Professional standard of care; no warranty of ranking/traffic/revenue; consequential damages disclaimer; liability cap at 12 months fees paid"
indemnification: "Mutual for IP infringement and gross negligence"
termination: "For convenience 60 to 90 day notice; for cause 30 day cure; transition support obligations"
governing_law: "Arkansas for TDG, mediation before litigation, attorney fee award to prevailing party"
general_provisions: "Assignment, force majeure, notice, entire agreement, severability"
The MSA template lives at /home/user/templates/contracts/mssa-template.md and is reviewed annually by counsel.
7.2 Statement of Work Components
sow_components:
engagement_identification: "MSA reference, SOW number, effective date, term, renewal"
scope_of_services: "Tier designation, inclusions and exclusions per Section 4, deliverable cadence, hours envelope"
deliverables_and_milestones: "Onboarding bundle per framework-clientonboarding.md Section 13; 90 day roadmap milestones; recurring monthly, quarterly, annual"
fees: "Monthly retainer, one time project fees if applicable, hourly rate for out of scope, annual escalator 8 to 12 percent floor, add on fees"
payment_terms: "Billing cycle, payment method, invoice timing, Net terms"
contract_term: "Initial term (6 months Starter, 12 months Growth/Enterprise), auto renewal with opt out, 60 to 90 day termination notice"
sla_reference: "Reference to SLA document or embedded terms"
signatures: "Agency, client, date, location"
The SOW template lives at /home/user/templates/contracts/sow-template.md. SOWs are generated by /home/user/templates/proposals/generate-proposal.sh.
7.3 Service Level Agreement Components
sla_components:
response_time: "Business hours acknowledgment 4 hours (9am to 6pm Central Mon-Fri); emergency response within 2 hours via phone (site down, security incident, manual action)"
deliverable_cadence: "Monthly report by 5th business day, weekly update Friday 5pm Central, quarterly executive review within 15 business days of quarter end, content brief turnaround 5 business days from approval"
uptime: "99.5 percent monthly where agency hosts; not applicable where client hosts"
kpi_commitments: "Agency commits to deliverable cadence, not ranking or traffic. Outcomes depend on factors beyond agency control"
remedy_for_breach: "Credit against next month proportionate to breach, 30 day cure, three breaches in 12 months triggers cause termination right"
The SLA is the operational floor. The agency commits to what it controls and explicitly does not commit to what it cannot control.
7.4 The 30 60 90 Day Out Clause
thirty_sixty_ninety_out_clause:
day_30: "Onboarding complete per framework-clientonboarding.md; either party may terminate without penalty if deliverables not met"
day_60: "Phase 1 quick wins complete; client may terminate with 30 days notice and prorated refund"
day_90: "Full 90 day roadmap complete; standard MSA termination clauses apply"
The clause is a confidence signal. The agency is willing to be measured at each early milestone and exit cleanly if the fit is wrong. Engagements surviving to day 90 almost always renew.
7.5 E Signature and Execution
Contracts execute via self hosted Documenso at https://documenso.thatdeveloperguy.com/. nginx direct. No third party CDN or proxy. Execution: run the proposal generator, upload to Documenso for client signature, return the executed PDF.
bash /home/user/templates/proposals/generate-proposal.sh \
--intake /home/user/clients/[clientname]/pricing-intake.yaml \
--tier growth --output /home/user/clients/[clientname]/proposals/
Executed contracts land at /home/user/clients/[clientname]/contracts/[clientshort]-mssa-executed-[YYYY-MM-DD].pdf and [clientshort]-sow-[N]-executed-[YYYY-MM-DD].pdf per framework-clientonboarding.md Section 5.2 folder 10-Commercial/.
8. Pricing Conversation Protocol
The pricing conversation is the moment abstract structure meets the specific client. Done well, it closes at full price. Done poorly, it invites discount and erodes the floor.
8.1 The Discovery Call Pricing Posture
The discovery call per framework-clientonboarding.md Section 3 surfaces commercial variables but does not propose price. The discovery sequence ends with the agency saying it will produce a tailored proposal within a defined window. Proposing price during discovery is premature; the agency lacks scope data to price correctly.
Exception: when a client opens with a direct budget question, the agency provides tier ranges from Section 4 without committing to a specific number. The range signals the agency operates in a defined pricing structure, places the buyer in a band, and preserves the proposal moment for the formal value conversation.
8.2 The Proposal Sequence
The proposal arrives 5 to 10 business days after final discovery. 6 to 12 pages: cover, executive summary (3 paragraphs), their situation (1 page), recommended approach (1 to 2 pages), scope (2 to 3 pages), investment options (1 page), timeline (1 page), case studies (1 page), next steps (1 page). Delivered via email plus shared drive link. A 30 minute walkthrough call is scheduled and closes higher than emailed proposals.
8.3 The Investment Options Page
The investment options page is the pricing pressure point. Two options is the default. Pure one option proposals close 40 to 60 percent; two option 55 to 70 percent. Three options closes lower due to decision paralysis.
Typical two option page: Option A (recommended Growth at $5,500 monthly, 12 month term, 30 hours envelope) and Option B (expanded Growth at $7,500 monthly with deeper content and digital PR scope). Optional Audit Add On at $7,500 one time shown separately.
8.4 The Negotiation Framework
negotiation_responses:
too_expensive:
diagnosis: "Category mismatch or scope misalignment"
response: "Which part feels misaligned, the monthly investment or scope? If monthly too high, adjust scope to fit budget. If scope too broad, identify what to defer to phase two."
comparing_cheaper_competitor:
diagnosis: "Likely commodity competitor"
response: "Walk through what's included at the lower price. Identify gaps (AI surface, schema depth, digital PR). Price difference reflects scope difference."
do_not: "Match competitor price"
questioning_value:
response: "Walk through deliverables and outcome targets. Reference case studies. Offer reference call."
unjustified_discount_request:
response: "Pricing reflects labor and tooling required. We do not discount on standard scope; we adjust scope to fit budget."
term_length:
response: "Standard term is 12 months. 6 month term at 10 percent premium."
payment_terms:
response: "Net 15 standard. Net 30 for enterprise on annual prepay. Annual prepay carries 5 percent discount."
The structural discipline: when the budget is the constraint, adjust scope. When the scope is the constraint, hold the price. Discounting price on standard scope teaches the buyer that price is negotiable and erodes the floor.
8.5 The "Do Not Discount Below Floor" Rule
pricing_floor_rule:
rule: "No engagement at any tier discounts below calculated floor"
rationale: "Below floor destroys margin, burns team, produces thin output that loses client at month nine"
acceptable_responses: "Reduce scope to tier fit at floor, offer pilot or short term, decline engagement"
unacceptable: "Discount below floor to win the deal"
Some deals are not worth winning. Walking away preserves structural ability to deliver profitably.
8.6 The "Free Audit" Trap
Prospective clients sometimes request a free audit. The trap consumes 8 to 30 hours of senior labor on speculation with 20 to 40 percent conversion. Declining is the discipline.
free_audit_trap:
response: "We do not provide free audits. Our audit deliverable is a paid project at $5,000 to $15,000 (Mode A Light to Mode B Standard). We are happy to walk through methodology on a 30 minute discovery call at no cost."
if_pushed: "Our audit is the foundation of every engagement and is priced accordingly. If engagement does not proceed beyond audit, the client owns a deliverable they can act on."
exception: "Strategic enterprise prospect with documented procurement and mutual NDA may receive a 1 to 2 hour site review."
8.7 The "Results Based Pricing" Trap
results_based_trap:
response_1: "Results based pricing transfers risk from buyer to agency on factors agency does not control (site uptime, stakeholder delays, market shifts, algorithm updates). We commit to deliverable cadence not ranking outcomes."
response_2: "Where we have track record, we offer milestone bonuses tied to KPI achievement. Base fee plus 10 to 20 percent bonus, never zero base plus full bonus."
response_3: "Revenue share requires equity level alignment and is reserved for partnerships not vendor engagements."
9. KPI Linked Pricing
KPI linked pricing is the cautious approach to performance components. Small fee portion tied to milestone achievement, large portion tied to deliverable cadence. Aligns incentives without transferring uncontrollable risk.
9.1 The Cautious Milestone Bonus Structure
kpi_linked_cautious:
base_fee_portion: 0.80
bonus_portion: 0.20
bonus_milestone_examples:
organic_sessions: "Sessions reach X by day Y, bonus 1 month base fee on milestone plus 30 day sustainment"
keyword_ranking: "Priority query reaches position N, bonus 1 month base fee on milestone plus 60 day sustainment"
ai_overview_citation: "Priority query cited in AIO, bonus 0.5 month on confirmation plus 30 day sustainment"
qualified_lead: "Leads reach X/month from organic, bonus 1 month on milestone plus 60 day sustainment"
revenue_attributed: "Revenue attributed to organic reaches X per quarter, bonus flat fee or percent on quarterly close"
The 80/20 structure preserves cash flow while creating outcome alignment. Bonus milestones are written into the SOW with specific targets, measurement methodology per framework-attribution.md, and sustainment windows preventing gaming via short term spikes.
9.2 The Revenue Share Model
Revenue share prices the agency as a percentage of revenue attributable to organic. Aligns incentives strongly but introduces operational complexity, attribution disputes, and revenue volatility.
revenue_share_model:
structure: "Agency receives X percent of revenue attributed to organic"
typical_x_percent: 10_to_25
appropriate_use: "E commerce or SaaS with clean closed loop attribution; partner level engagement; multi year terms with mutual data access"
failure_modes: "Attribution disputes (last click vs multi touch, branded vs non, cross device); revenue volatility from seasonality and algorithm updates; operational complexity (monthly audit, quarterly true ups); relationship strain over revenue category scope"
recommendation: "Pure revenue share is rarely appropriate. Hybrid base plus revenue share is the standard alternative."
9.3 The Hybrid Base Plus Revenue Share
hybrid_base_plus_revenue_share:
structure: "Base monthly at 50 to 70 percent of normal rate card plus revenue share at 5 to 15 percent of attributed revenue"
attribution_methodology: "Defined in SOW per framework-attribution.md; GA4 last click with channel attribution by default; quarterly true up with reconciliation"
cap: "Total fee at 1.5x to 2.0x what straight retainer would produce; protects both parties"
9.4 The Equity Model (Rare)
Equity engagements price the agency partially or fully in client equity. Rare and appropriate only in narrow circumstances.
equity_model:
appropriate_circumstances: "Early stage startup with limited cash but proven team and meaningful product; strategic partnership not vendor engagement; documented liquidity event horizon; multi year"
inappropriate_circumstances: "Established business with cash but resisting fair pricing; no documented liquidity horizon; vague upside claims"
structure: "Reduced cash fee 30 to 60 percent of standard; equity grant 0.25 to 1.5 percent fully diluted; vesting over term, acceleration on liquidity event"
legal: "SAFE or warrant structure, securities counsel on both sides, cap table and tax addressed"
portfolio_consideration: "An agency principal cannot effectively support more than 2 to 4 equity engagements at a time."
Equity is mentioned for completeness. The agency declines equity for standard engagements.
10. AI Search Premium Pricing
AI search aware pricing is the most consequential 2026 development. Agencies pricing AI surface work command 2.3x traditional SEO rates at equivalent scope per Pulse January 2026. The premium reflects specialized expertise, dedicated tooling, and labor intensive multi engine optimization.
10.1 What AI Surface Optimization Requires
ai_surface_optimization_scope:
ai_overviews_google: { work: "Weekly query monitoring, citation analysis, content restructuring per framework-aicitations.md, schema for featured passages, entity reinforcement per framework-eeat.md", tooling: "BrightEdge AI Catalyst, Semrush AI Toolkit", labor: "6 to 12 hours/month" }
perplexity: { work: "Query monitoring, citation reclamation, source domain authority, crawler access", tooling: "Profound, Otterly, Athena HQ", labor: "4 to 8 hours/month" }
searchgpt_chatgpt: { work: "Browsing mode query monitoring, citation reclamation, source domain reputation", tooling: "Profound, manual sampling", labor: "4 to 8 hours/month" }
bing_copilot: { work: "Bing organic per framework-multiengine-tradeoffs.md, Copilot citation tracking, Webmaster cadence", tooling: "Bing Webmaster, Semrush", labor: "2 to 4 hours/month" }
multi_engine_coordination: { work: "Trade off analysis, schema for multi engine pickup, byline and entity reconciliation", tooling: "Custom dashboards via Metabase or Grafana on Bubbles", labor: "4 to 8 hours/month" }
Total AI surface labor: 20 to 40 hours/month for full coverage. That labor plus tooling subscription ($500 to $2,000/month) is the structural basis for the 2.3x premium.
10.2 The AI Search Premium Tier Structure
ai_search_premium_tiers:
ai_lite_addon: { description: "Add 6 to 10 hours AI monitoring", fee: 1500_to_3000, for: "Growth engagements adding AI scope" }
ai_standard_addon: { description: "Add 15 to 25 hours full multi engine monitoring/remediation", fee: 3500_to_6000, for: "Growth with strategic AI ambition" }
ai_enterprise_addon: { description: "Add 30 to 50 hours dedicated multi engine strategy", fee: 6000_to_15000, for: "Enterprise with board level AI KPIs" }
ai_first_engagement: { description: "Engagement positioned around AI with traditional SEO supporting", fee: 8000_to_20000, for: "Publishers, knowledge platforms, professional service" }
10.3 Premium Pricing Defense
When a buyer questions the premium, reference Pulse January 2026 data: "AI search aware engagements priced at 2.3x traditional SEO. Premium reflects three factors: 20 to 40 additional hours/month for multi engine monitoring, citation reclamation, entity graph maintenance; $500 to $2,000/month specialized tooling; expertise gap as multi engine optimization is practiced by a small fraction of agencies. The premium is the market price of the expertise gap, not a margin grab."
10.4 The 2027 Pricing Outlook
Premium is expected to compress. Pulse projects 2.0x by Q4 2026, 1.7x by Q4 2027. Strategic positioning: ride 2.3x in 2026, accept 2.0x in 2027, sustain via continued tooling investment and specialty depth in entity graph and citation reclamation work.
11. Add On Services
Add on services capture revenue beyond retainer scope and from prospects who are not retainer fits. Typically $1,500 to $25,000 per engagement.
11.1 One Off Audits
one_off_audits:
mode_a_light: { hours: "4 to 8", deliverable: "1 to 3 page go/no go", price: 1500_to_3500 }
mode_b_standard: { hours: "16 to 30", deliverable: "12 page audit per framework-initialaudit.md", price: 4500_to_12000 }
mode_c_deep: { hours: "40 to 80 plus", deliverable: "25 to 50 page extended", price: 15000_to_45000 }
specialty_audits: "schema only $2,500 to $6,000; content only $3,500 to $10,000; technical SEO only $4,000 to $12,000; AI surface $5,000 to $15,000; competitive analysis $3,000 to $8,000"
11.2 Expert Witness Work
Expert witness engagements for legal cases (trademark, false advertising, defamation, IP disputes involving search visibility) are a high margin add on.
expert_witness_work:
pre_engagement_review: 1500_flat
written_expert_opinion: 8000_to_25000
deposition_preparation: 4000_to_8000
deposition_attendance: 500_to_1000_per_hour_4_hour_minimum
trial_testimony: 750_to_1500_per_hour_4_hour_minimum
travel_and_retainer: "Travel actual cost plus 50 percent administrative; retainer 50 percent of estimated total"
11.3 Training and Workshops
training_workshops:
half_day: 2500_to_5000
full_day: 5000_to_10000
multi_day_intensive: 10000_to_25000
custom_curriculum: 5000_to_15000
ongoing_training_retainer: 2000_to_6000_per_month
typical_topics: "SEO fundamentals, AI surface 101, brief structure and Information Gain, schema, GSC/GA4 analysis, local SEO and GBP"
11.4 Dev Integration Sprints
dev_integration_sprints:
one_week: "$5,000 to $12,000 (single template, schema, sitemap rebuild)"
two_week: "$10,000 to $25,000 (multi template, schema graph, technical fixes)"
four_week: "$20,000 to $60,000 (migration, complex schema, full remediation)"
ongoing_embedded: "$4,000 to $12,000/month (fractional dev 10 to 20 hours/week)"
11.5 Content Production Overflow
content_overflow:
blog_post_standard: { words: 1500_to_2500, price: 350_to_750 }
pillar_content: { words: 3500_to_6000, price: 1500_to_3500 }
case_study: { words: 1500_to_3000, price: 1500_to_3000 }
white_paper: { words: 4000_to_8000, price: 5000_to_12000 }
ai_surface_optimized_pillar: { words: 3500_to_6000, price: 2500_to_5500, notes: "Premium reflects citation engineering, deep schema, multi engine optimization" }
11.6 AI Surface Citation Reclamation
ai_citation_reclamation:
per_query: "$1,500 to $4,000 (content restructuring, schema, entity reinforcement, retest)"
campaign: "$15,000 to $50,000 (10 to 25 priority queries over 90 days)"
enterprise: "$50,000 to $150,000 (50 plus priority queries over 6 months)"
Reclamation is among the highest margin specialty add ons because labor concentrates on a small priority query set and outcome is highly measurable.
12. Client Lifecycle Pricing
Pricing across the client lifecycle reflects the changing agency/client relationship. Onboarding carries labor overhead. Year one is standard rate. Year two and beyond reward loyalty modestly while preserving the annual escalator floor.
12.1 The Onboarding Premium
The first 30 days contain onboarding labor overhead per framework-clientonboarding.md. Discovery, intake, access provisioning, initial audit, 90 day roadmap, brand voice baseline, and reporting customization concentrate 40 to 80 hours of senior labor into the first month. Non recurring; ongoing months operate at standard envelope.
onboarding_premium_options:
option_a_blended: "Amortized across 12 months at 110 percent of normal rate"
option_b_one_time_fee: "Setup fee $3,500 to $12,000 plus standard retainer from day 31"
option_c_audit_as_project: "Audit project $5,000 to $15,000 plus retainer from day 31 (default agency pattern)"
Option C is the agency standard. The audit is a real deliverable the client owns. Retainer is the true ongoing rate. Conversion rate 65 to 80 percent when audit quality is high.
12.2 Year One Standard Rate
Year one is the rate card current at signature. Rate card at /home/user/templates/proposals/rate-card-current.yaml with date stamped historical versions. Standard delivery at standard rate; no loyalty discount and no escalator applied.
12.3 Year Two Loyalty Discount
year_two_loyalty:
range: "0 to 10 percent off year two escalated rate"
appropriate: "Long term partnership signal, multi year renewal, strategic retention"
inappropriate: "Reflexive renewal discount, discount to retain low margin client, discount in lieu of escalator"
structure: "Year two = Year one * (1 + escalator), loyalty discount applies after escalator, max 10 percent of post escalator rate"
12.4 Multi Year Contract Discount
multi_year_discount:
24_month: "5 to 10 percent off year one, locked 24 months no escalator, snap to rate card at month 25"
36_month: "10 to 15 percent off year one, locked 36 months no escalator, snap to rate card at month 37"
early_termination_clawback: "Termination before threshold triggers clawback proportionate to months remaining, documented in SOW"
Appropriate for enterprise clients with stable budgets and established procurement processes.
12.5 The Annual Escalator Floor
Every multi year engagement and every renewal incorporates an annual escalator. Floor 8 to 12 percent per year.
annual_escalator_rationale:
agency_labor_inflation: "5 to 8 percent/year in tight talent markets"
tooling_inflation: "10 to 25 percent/year (Profound, Ahrefs, Semrush, Athena HQ raised 15 to 30 percent in 2025)"
scope_deepening: "AI surface expanded; same retainer covers more surfaces than 2 years ago"
value_capture: "1 to 3 percent above cost inflation"
The 8 to 12 percent floor accommodates inflation plus modest value capture. Below 8 percent loses margin. Above 12 percent risks pushback. Communicated at SOW execution, applied at contract anniversary, clients notified 60 days before activation.
12.6 The Renewal Conversation
Renewal conversations happen 60 to 90 days before contract end. The conversation references the year of delivery, the year ahead opportunity, the escalator, scope adjustment, and the signature mechanism. The renewal is the structural moment to address scope creep accumulated during the year. If the client added stakeholders, expanded brands, or grew content cadence, this is the moment to true up. Failing to true up at renewal locks in creep for another year.
12.7 Client Lifetime Value
client_lifetime_value:
inputs: "Monthly retainer year one, annual escalator (0.10 default), expected tenure (2 to 5 years), add on revenue per year, referral value"
example_growth_tier: { year_1_retainer: 5500, escalator: 0.10, tenure_years: 4, add_on_per_year: 8000, referral_value: 15000, retainer_total: 306306, addon_total: 32000, referral: 15000, clv: 353306 }
Sales investment per engagement is rationally bounded at 5 to 15 percent of expected CLV.
13. Pricing Floor Calculation
The pricing floor is the defensible minimum price for any engagement scope. Below floor, the engagement cannot be delivered profitably. The calculation is the structural backstop against pricing conversation drift.
13.1 The Cost Plus Methodology
cost_plus:
formula: "Floor = (Hours * Fully loaded rate) + Tool allocation + Overhead allocation + Target margin"
target_margin: { solo: "30 to 50 percent", three_person: "40 to 60 percent", ten_person: "50 to 65 percent", twentyfive_person: "55 to 70 percent" }
13.2 Fully Loaded Labor Cost
fully_loaded_labor_2026:
solo: { base_hourly: 100_to_175, fully_loaded: 125_to_220 }
strategist_mid_market: { salary: 85000_to_120000, delivered_hourly: 95_to_140 }
strategist_coastal: { salary: 110000_to_160000, delivered_hourly: 125_to_185 }
senior_strategist: { salary: 120000_to_165000, delivered_hourly: 135_to_185 }
principal_or_director: { salary: 175000_to_275000, delivered_hourly: 225_to_350 }
Labor cost assumes 1600 productive hours per year (1400 for principal), 30 percent benefits load, $15K to $40K overhead per employee.
13.3 Tool Stack Allocation
tool_stack_2026:
per_agency_monthly:
ahrefs: 449_to_999
semrush: 449_to_999
screaming_frog: 209_per_year_amortized
google_workspace: 18_per_user
slack_business: 12.50_per_user
per_engagement_ai_tools_monthly:
profound: 200_to_800
otterly: 100_to_500
athena_hq: 300_to_1500
brightedge_ai_catalyst: 500_to_2500
allocation: "Divide per agency tools by active client count, add per engagement AI tools"
example_10_client_agency: "Per client total $330 to $2,630 per month"
13.4 Overhead Allocation
overhead_2026:
small_agency_monthly: "Rent $500 to $2,500, insurance $200 to $500, accounting/legal $500 to $1,500, software non SEO $200 to $500, marketing/sales $500 to $2,000, admin $200 to $1,000. Total $2,100 to $8,000"
per_client_allocation_10_clients: 210_to_800
13.5 Minimum Viable Retainer Calculations
minimum_viable_retainer_by_agency_size:
solo: { starter_floor: 3250, growth_floor: 9818 }
three_person: { starter_floor: 3200, growth_floor: 10111, enterprise_floor: 25250 }
ten_person: { starter_floor: 3875, growth_floor: 10875, enterprise_floor: 27714 }
twentyfive_person: { growth_floor: 12000, enterprise_floor: 41000 }
Calculation: cost subtotal (direct labor hours x rate, plus tool allocation, plus overhead) plus target margin equals floor. Worked example for 3 person Growth: 30 hours x $120 rate = $3,600 direct labor; plus $600 tools, $350 overhead = $4,550 cost; 55 percent target margin = $5,561; floor $10,111. Floor numbers shift quarterly with labor and tool inflation.
13.6 Floor Validation Script
#!/bin/bash
# /home/user/templates/proposals/validate-floor.sh
INTAKE="$1"
HOURS=$(yq '.hours_per_month_estimated' "$INTAKE")
RATE=$(yq '.fully_loaded_labor_cost_per_hour' "$INTAKE")
TOOLS=$(yq '.tool_stack_cost_per_month_allocated' "$INTAKE")
OVERHEAD=$(yq '.overhead_allocation_per_month' "$INTAKE")
MARGIN=$(yq '.target_gross_margin_percent' "$INTAKE")
COST=$(echo "$HOURS * $RATE + $TOOLS + $OVERHEAD" | bc)
FLOOR=$(echo "$COST + $COST * $MARGIN / (100 - $MARGIN)" | bc)
echo "Pricing floor: \$$FLOOR"
Runs at proposal generation. If proposed retainer falls below floor, the script blocks generation and surfaces the breach to the principal.
13.7 The Floor Discipline
floor_discipline_2026:
rule_1: "Every engagement validated against floor at proposal generation"
rule_2: "No engagement signed below floor, ever"
rule_3: "Floor recomputed quarterly as labor and tool costs shift"
rule_4: "Annual escalator covers floor inflation"
rule_5: "If floor exceeds market rate, agency revisits positioning, not floor"
The floor discipline preserves the agency's structural ability to deliver high quality work over years. The agency that discounts below floor wins the deal and loses the capacity to deliver. The agency that holds floor wins fewer deals and delivers better on the deals it wins.
14. Bubbles Hosted Pricing Operations
The pricing operations stack runs on Bubbles at IP 169.155.162.118. The stack handles proposal generation, contract execution, e signature, client portal, invoicing, and payment processing without any third party CDN or proxy in the path. Self hosting mirrors onboarding per framework-clientonboarding.md Section 14.
14.1 Bubbles Server Profile
Bubbles is Debian amd64, 16 GB RAM. Public IP 169.155.162.118. Tailscale 100.90.97.104. SSH at ssh user@bubbles. Pricing operations at /home/user/templates/proposals/, /home/user/templates/contracts/, /home/user/clients/[clientname]/proposals/, /contracts/, /invoices/. Web hosting via nginx under /var/www/sites/. Surfaces at proposals.thatdeveloperguy.com, documenso.thatdeveloperguy.com, invoices.thatdeveloperguy.com. nginx direct.
14.2 Proposal Templates
/home/user/templates/proposals/
rate-card-current.yaml # canonical rate card
rate-card-archive/ # date stamped historical versions
templates/
proposal-starter.md
proposal-growth.md
proposal-enterprise.md
proposal-audit-only.md
proposal-expert-witness.md
generate-proposal.sh # composition script
validate-floor.sh # floor validation
render-pdf.sh # markdown to PDF via Pandoc
The generate proposal script reads intake yaml, selects template per engagement_tier, composes markdown, validates floor, renders PDF, and writes outputs to /var/www/sites/[clientdomain]/proposals/ and /home/user/clients/[clientname]/proposals/.
14.3 Contract Templates
/home/user/templates/contracts/
mssa-template.md
sow-template.md
sla-template.md
amendment-template.md
change-order-template.md
termination-template.md
templates-archive/
Reviewed annually by counsel. Material revisions versioned and archived.
14.4 Client Portal
Self hosted Nextcloud at https://nextcloud.thatdeveloperguy.com/ or self hosted Plane at https://plane.thatdeveloperguy.com/. Exposes contract and invoice history alongside engagement deliverables.
14.5 E Signature
Documenso at https://documenso.thatdeveloperguy.com/ is the self hosted DocuSign alternative. nginx direct. Agency initiates, client signs via email link, executed PDF returns to /home/user/clients/[clientname]/contracts/. For elevated complexity, BoldSign self hosted at https://boldsign.thatdeveloperguy.com/.
14.6 Invoicing
Invoice Ninja at https://invoices.thatdeveloperguy.com/ is the self hosted FreshBooks/QuickBooks alternative. nginx direct.
invoice_ninja_setup:
client_setup: "Record at signature, billing contact, terms per SOW, auto cadence"
recurring_invoice: "First of month for retainers, milestones manual, hourly aggregated monthly"
payment_methods: "ACH via Stripe (0.8 percent fee), credit card via Stripe (2.9 percent plus 30 cents), wire transfer (no fee), check (manual)"
reporting: "Monthly AR aging, quarterly revenue by tier, annual reconciliation"
Payment via Stripe (no fully self hosted alternative at production grade in 2026). Invoice generation, hosting, and management remain self hosted.
14.7 Pricing Operations Data Flow
Engagement signed
-> mssa-executed-[YYYY-MM-DD].pdf and sow-1-executed-[YYYY-MM-DD].pdf
-> pricing-intake.yaml updated to active
-> Invoice Ninja client record, recurring invoice scheduled
Monthly cycle
-> Invoice generated first of month, emailed
-> Payment via Stripe ACH or credit card, reconciled
-> AR aging review by principal
Annual escalator
-> 60 days before anniversary, escalator notice generated
-> Invoice Ninja rate adjusted on anniversary
Renewal cycle
-> 90 days before end, renewal proposal generated
-> Renewal SOW executed via Documenso, pricing intake updated
14.8 No Third Party CDN or Proxy
Every component of the Bubbles pricing operations stack operates without any third party CDN or proxy in the path. Contract content is among the most sensitive engagement data; routing through external infrastructure exposes contracts, fee structures, and client identities. The agency does not use any third party CDN or proxy for pricing operations or agency properties. Where client sites currently use one, the agency notes the configuration in the initial audit and audits implementation for SEO impact (origin caching, header preservation, bot access rules). Removal is not recommended unless the configuration actively harms SEO outcomes.
14.9 Maintenance Cadence
Weekly: AR aging review, Documenso signature backlog, payment reconciliation. Monthly: invoice generation, rate card review against close rate analysis, proposal template review. Quarterly: rate card refresh against Credo, Pulse, SparkToro data; floor recomputation; multi year clawback review. Annually: full pricing structure review, MSA and SOW counsel review, escalator publication, CLV analysis on renewed engagements.
End of Framework Document
Version: 3.0 (2026-05-14) Maintainer: TDG
Pricing is a strategic discipline that determines client mix, agency margin, and quality output. The 2026 landscape has bifurcated into commodity SEO at $500 to $2,500/month and advanced AI search aware SEO at $5,000 to $25,000/month. The agency operates above the bifurcation gap, prices to the Pulse 2026 AI search premium of 2.3x traditional SEO at equivalent scope, and defends a documented pricing floor. Apply at every engagement onset and every renewal.
Companions
- framework-clientonboarding.md, onboarding sequence after pricing accepted
- framework-reporting.md, reporting cadence that defends the retainer
- framework-attribution.md, attribution supporting KPI linked pricing
- framework-contentbriefs.md, content brief format for content velocity scope
- framework-brandvoice.md, brand voice baseline from onboarding
- framework-linkbuilding.md, link building for Growth and Enterprise
- framework-digitalpr.md, digital PR for Growth and Enterprise
- framework-aicitations.md, AI citation reclamation supporting the premium
- framework-multiengine-tradeoffs.md, multi engine coordination for Enterprise
- framework-localseo.md, local SEO for Starter and local Growth
- framework-eeat.md, entity graph and credibility for all tiers
Want this framework implemented on your site?
ThatDevPro ships these frameworks as productized services. SDVOSB-certified veteran owned. Cassville, Missouri.
See Engine Optimization service ›