FULL LIFECYCLE
/cultivation + SaaS Site + Google Ads
This is the heist from start to finish. You have a deployed SaaS. You want autonomous Google Ads with budget optimization, A/B testing, and circuit breakers. Here's every step, every account you need, and every failure mode you'll hit.
KelsierWant dedicated landing pages per campaign? Full Lifecycle + Kongo adds 3-layer A/B testing, seed-to-conversion feedback loop, and autonomous page generation.
THE COMMAND SEQUENCE
/cultivation install → Vault + Treasury + Revenue + Daemon + Dashboard
/grow --setup → Google Ads credentials + billing verification
/grow → 6-phase protocol → campaigns live
[daemon takes over] → 24/7 monitoring, A/B testing, kill/scale
/treasury --status → Check financials anytime
/grow --content → Refresh creatives on demand
Wall clock: ~60-90 minutes active work + 24-48h for Google Ads developer token approval + 1 business day for Google's ad policy review.
PHASE 0: /CULTIVATION INSTALL
Day-0 infrastructure. Run once. Re-run anytime — it only builds what's missing.
| Step | What Happens | Account Needed |
|---|---|---|
| 0.1 | Wizard gate — pull wizard from upstream | None |
| 0.2 | Create financial vault (AES-256-GCM) + TOTP 2FA | Authenticator app |
| 0.3 | Treasury connection — enter monthly budget or connect Mercury/Brex | Mercury API key (optional) |
| 0.4 | Revenue tracking — connect Stripe read-only key | Stripe restricted API key |
| 0.5 | Heartbeat daemon starts (launchd/systemd) | None |
| 0.6 | Wizard server + Danger Room dashboard | None |
Output: Vault created, daemon running, dashboard at localhost:3141/danger-room#growth
PHASE 1: /GROW --SETUP
Google Ads credentials and billing verification.
| Step | What Happens | What You Need |
|---|---|---|
| 1.1 | Select Google Ads as platform | Google Ads account |
| 1.2 | OAuth flow — authorize in browser | Google Cloud OAuth client ID + secret |
| 1.3 | Developer token entry | Token from ads.google.com/aw/apicenter |
| 1.4 | Test connection (GAQL query) | Customer ID |
| 1.5 | Billing capability detection | Auto-detected |
Reality check: Most SaaS startups get MONITORED_ONLY (credit card billing). Monthly invoicing requires Google's approval. This is fine — campaigns still run, spend is tracked, optimization works. You just pay Google via your card.
PHASE 2: /GROW PHASES 1-3
Reconnaissance, foundation, and content. Methodology-driven — no wizard needed.
Phase 3.5 is optional: if Kongo is connected, Raoden + Shallan generate a dedicated landing page per campaign with 6 A/B variants. If not connected, campaigns use your homepage. Either way works.
SiskoPHASE 3: GOOGLE ADS CAMPAIGN BUILD
Campaign architecture for B2B SaaS ($500/month budget):
Brand terms, Target Impression Share bidding
Solution + competitor terms, Maximize Clicks → tCPA after 30 conversions
Broad reach with audience signals, Maximize Conversions
BUDGET ALLOCATION ($500/MONTH)
- Google Ads: $16/day across 3 campaigns
- Testing reserve: $20/month
- Daily hard stop: $20/day (platform-enforced 10% below VoidForge cap)
Creative variants: 3 headlines × 2 descriptions = 6 combinations per ad group, A/B tested.
AUTONOMOUS OPERATION
The daemon takes over. Here's what runs 24/7:
| Job | Frequency | What It Does |
|---|---|---|
| Token refresh | Every 48 min | Google access tokens expire hourly, refresh at 80% TTL |
| Spend check | Hourly | GAQL: SELECT metrics.cost_micros FROM campaign |
| Campaign status | 15 min | Detect disapprovals, limited serving, billing issues |
| A/B evaluation | Daily | 500+ impressions, 3+ days, 95% confidence → pause loser |
| Kill check | Daily | ROAS < 1.0x for 7 days with $50+ spend → soft kill → hard kill |
| Budget rebalance | Weekly | Shift spend from low-ROAS to high-ROAS campaigns |
| Reconciliation | 00:00 + 06:00 UTC | Two-pass: compare spend log vs Google reported spend |
| Growth report | Weekly | Full metrics to /logs/growth-report-weekly-*.md |
MONEY FLOW
CIRCUIT BREAKERS FIRE WHEN
- ROAS < 1.0x for 7 days
- Daily spend exceeds cap
- Reconciliation mismatch >max($5, 5%) for 2 consecutive days
- Google API unreachable 3 consecutive polls
- Manual
/treasury --freeze
MINIMUM VIABLE SETUP
REQUIRED
STRONGLY RECOMMENDED
DEFERRABLE
COMMON FAILURE MODES
| Failure | Fix |
|---|---|
| Google developer token stuck in "Test" mode | Apply for Basic access (24-48h) |
| OAuth revoked (changed Google password) | Re-authorize: /grow --setup |
| Creative rejected by Google policy | Review disapproval reason in Google Ads UI, adjust copy |
| Conversion tracking not firing | Debug with Google Tag Assistant |
| Reconciliation mismatch alert | Google reporting lag is normal up to ~3%. Investigate if >5% |
| Daemon crashed | launchctl start com.voidforge.heartbeat (macOS) |
That's the full lifecycle — from a deployed SaaS site to autonomous Google Ads with budget optimization, A/B testing, and circuit breakers. The heist runs itself. You just watch the numbers.
Dockson