Launch Readiness Checklist
Use this page when a workspace is close to launch, relaunch, domain cutover, paid-flow enablement, booking enablement, or major integration change.
Launch Decision
A workspace is ready for live traffic when:
- The public site accurately represents the business.
- The primary customer action works.
- Payments are connected if money is collected.
- Notifications reach the right recipients.
- Operators know where incoming work appears.
- Legal, consent, and email settings match the configured integrations.
Decide launch status with evidence, not confidence. A launch packet should name the workspace, launch owner, launch date, public URL, enabled customer actions, payment posture, integration posture, known risks, and rollback owner. If one critical customer path is not ready, launch a narrower experience instead of pushing the full workspace live.
Required Checks
Workspace
Check: General settings, team, site status, timezone, currency
Domain
Check: DNS verified, production host correct, links use final URL
Check: Sender identity, reply-to, notification templates, unsubscribe
Branding
Check: Logo, colors, typography, navigation, footer, mobile
Content
Check: Homepage, policies, contact, help, product/service pages
Commerce
Check: Stripe, products, checkout, tax, shipping, order portal
Bookings
Check: Services, availability, deposits, calendar sync, confirmation
Customers
Check: Portal login, profile, orders, bookings, billing, tickets
Growth
Check: SEO, redirects, sitemap, reviews, GA4, Google Ads, GBP
Operations
Check: Inbox, customers, scheduling, sales, shipping, support owner
Readiness Score
Score each launch area from 0 to 3. The goal is not a vanity number; it is a shared way to decide what can ship and what must wait.
0
Meaning: Not configured or unknown
Launch posture: Do not launch this path
1
Meaning: Configured but unverified
Launch posture: Internal preview only
2
Meaning: Verified with minor known risk
Launch posture: Launch if risk is owned
3
Meaning: Verified, monitored, and reversible
Launch posture: Ready
Minimum launch standard:
- Primary customer action: 3.
- Payments, if enabled: 3.
- Domain and sender identity: 2 or 3.
- Notifications: 2 or 3.
- Legal and consent: 2 or 3.
- Operations ownership: 3.
If the primary customer action is commerce, checkout must be the primary score. If the primary customer action is bookings, service availability and confirmation must be the primary score. If the site is content-first, navigation, contact, search previews, and inbox ownership become the primary score.
Risk Levels
Use these levels to decide whether a finding blocks launch:
Critical
Example: Checkout cannot collect payment, booking confirmation fails, wrong domain, wrong recipient, customer data exposure
Action: Block launch or disable the affected path
High
Example: Tax/shipping uncertain, staff calendar wrong, ads fire without consent, support inbox unowned
Action: Launch only with owner approval and mitigation
Medium
Example: Copy gap, non-primary page incomplete, reporting delay, cosmetic mobile issue
Action: Track and launch if primary path is healthy
Low
Example: Nice-to-have content, extra automation, secondary dashboard polish
Action: Schedule after launch
Every Critical or High issue needs an owner, mitigation, and retest note. Do not bury launch blockers in a general task list.
Payment Readiness
Do not launch paid flows until:
- Stripe account is connected.
- Requirements and payouts are understood.
- Product checkout or booking payment is tested.
- Refund and cancellation behavior is understood.
- Taxes and shipping are intentional.
- Notification emails are correct.
Payment scoring details:
Account health
Evidence: Stripe Connect status is clear enough for the expected charge type and payout plan
Checkout path
Evidence: Product or booking checkout reaches confirmation and writes the expected record
Tax and shipping
Evidence: Customer-facing totals match the operator's launch intent
Refund path
Evidence: Operator knows where refund, cancellation, or amendment happens
Customer portal
Evidence: Order, invoice, booking, or billing state appears only for the right customer
Notification path
Evidence: Customer and operator notifications reach the intended recipients
If payments are not ready, launch content and inquiry flows only. Hide paid products, disable checkout, or keep booking deposits disabled until the payment path is tested.
Booking Readiness
Do not launch booking flows until:
- Services are visible.
- Availability shows real times.
- Staff and calendar sync are correct.
- Deposits or final payment rules are correct.
- Confirmation and reschedule paths work.
- Operators know how to amend, cancel, no-show, complete, and refund.
Booking scoring details:
Service catalog
Evidence: Public service list and detail pages show the right duration, price, staff, and instructions
Availability
Evidence: Public availability reflects hours, buffers, staff assignment, and external conflicts
Payment rule
Evidence: Deposit, final payment, or pay-later behavior matches the business rule
Confirmation
Evidence: Customer confirmation, operator notification, and customer portal history are correct
Management links
Evidence: Reschedule, cancellation, and final-payment links are scoped to the intended booking
Operations queue
Evidence: New bookings land where staff actually works during the day
If booking readiness is mixed, launch only the ready services. Hide services with uncertain capacity, missing staff assignment, or unclear pricing.
Site Readiness
Do not launch public traffic until:
- Homepage and navigation are complete.
- Legal pages are reachable.
- Contact path is monitored.
- Search previews are acceptable.
- Mobile layout is checked.
- Custom domain works.
Site scoring details:
First impression
Evidence: Homepage explains the business and offers the primary action above the fold
Navigation
Evidence: Header, footer, policies, contact, shop, bookings, help, and account links match enabled features
Mobile
Evidence: Primary action, menu, cart, forms, and booking steps work on a narrow viewport
Search previews
Evidence: Title, description, favicon, and social image match the final domain and brand
Content freshness
Evidence: Products, services, stories, help articles, and forms reflect the latest console state
Protected state
Evidence: Draft or internal-only sites are not reachable by public traffic
Use a protected or preview-only state when content is not ready but operators still need to verify configuration.
Integration Readiness
Only enable integrations that have an owner:
- GA4: Measurement ID valid and consent posture understood.
- Google Ads: Conversion ID valid, conversion label configured if explicit event tracking is needed, legal acknowledgements complete.
- Google Business Profile: connection status healthy and review sync expectations clear.
- Calendar: connected provider and conflict behavior tested.
- Shipping: origin, packages, zones, rates, labels, and tracking tested.
Integration scoring details:
Stripe Connect
Required evidence before launch: Account status, charge path, payout awareness, refund owner
GA4
Required evidence before launch: Measurement ID, consent behavior, public tag load, reporting expectation
Google Ads
Required evidence before launch: Conversion ID, consent mode, booking conversion label if used, no sensitive token leakage
Google Business Profile
Required evidence before launch: Connected account has listing access and review/listing sync is understood
Calendar
Required evidence before launch: Provider token, selected calendar, staff assignment, conflict test
Domain and email
Required evidence before launch: DNS verification, final host, sender identity, callback links
Shipping
Required evidence before launch: Origin, package presets, rates, labels, tracking, exception owner
If an integration is useful but not ready, disable it and record the exact missing evidence. A disabled integration with a clear owner is safer than an enabled integration nobody can support.
Launch Packet
Before moving a workspace into live traffic, write a short packet with:
- Workspace name and slug.
- Public URL and launch date.
- Launch owner and backup owner.
- Primary customer action.
- Enabled features.
- Disabled or intentionally hidden features.
- Readiness score by area.
- Critical and High issues with mitigations.
- Rollback steps.
- Post-launch watch owner and check times.
The packet should be short enough to read in a handoff, but specific enough that another operator can tell what was launched and what was deferred.
Rollback And Narrow Launch
Prefer narrow rollback over taking down the whole site. Examples:
Checkout failure
Disable checkout, hide paid products, keep informational pages live
Booking failure
Hide affected services, pause online booking, keep contact and help live
Domain issue
Return to verified host while DNS is corrected
Ads or analytics issue
Disable tag integration and pause paid campaigns
Email issue
Pause notifications that use the broken sender and switch to manual outreach
Shipping issue
Disable carrier labels or rates and use manual fulfillment guidance
After rollback, retest the exact failed path before re-enabling it. Do not relaunch based only on a config change.
Post-Launch Watch
For the first day after launch, watch:
- Insights.
- Sales.
- Scheduling.
- Payments.
- Shipping.
- Inbox.
- Customers.
- Error reports.
- Public site conversion paths.
If a critical path fails, pause the narrow path first: disable checkout, set a site to protected, pause ads, or hide a feature while preserving the rest of the workspace when possible.
Relaunch Triggers
Run this checklist again when:
- A custom domain changes.
- Checkout, tax, Stripe Connect, PayPal, or shipping changes.
- New booking services, staff, deposits, or calendar sync are introduced.
- Google Ads, GA4, or consent settings change.
- A workspace adds customer portal, tickets, billing, or subscriptions.
- Legal, policy, sender identity, or notification templates change.
- A major content migration, template migration, or rebrand ships.
Treat relaunches as smaller launches. The work is lighter, but the customer risk can be just as real.