The Doozer Brainlive from the knowledge bundle · v2.2.618 · 2026-09-13 17:13 ETall pages · one page

LeadBuilder (the lead-intelligence platform)

systems/leadbuilder.md · System · leadbuilder, leads, monetization, intelligence, tracking, value

unverified: no trust signals recorded yet

Where every captured lead, call intent, and cross-site referral flows to become revenue — the sibling product that turns Doozer traffic into qualified leads.

LeadBuilder

leadbuilder.io is a BerrySmart sibling product: the lead-intelligence platform that Doozer feeds. If Lead Capture is the plumbing, LeadBuilder is the destination and the intelligence layer — where a visitor's action on a business site becomes a qualified, attributable lead a business will pay for. It is the primary way Doozer's traffic turns into revenue (see the value model).

What flows in

Every demand signal on the network bridges to LeadBuilder:

Why it matters

A free Doozer site creates presence; LeadBuilder captures the value that presence generates and makes it measurable and sellable. lb_users.tier also carries the entitlement that Billing sells, so the same identity spans the free site, the lead intelligence, and the paid tier. It is the revenue engine of the flywheel, and the reason "we build a free site" is a sustainable business rather than a cost center.

Google Search Console ingestion (the demand data)

LeadBuilder also owns the network's Google Search Console pipe — the search demand data that powers Prospector's Cloud Radar and the marketing signal miner. includes/lb-gsc-client.php is a dependency-free OAuth 2.0 + Search Analytics client. Operator connects GSC properties (Admin → LeadBuilder → GSC Properties); refresh tokens are stored encrypted in lb_gsc_properties. lbGscSyncProperty($propertyId, $daysBack) pulls query + page aggregates into lb_gsc_query_daily / lb_gsc_page_daily. GSC Search Analytics is free — no per-call cost.

Freshness is a background job. lbGscMaybeQueueRefresh() runs from the index.php shutdown tick (rate-limited 6h) and enqueues a per-property gsc_refresh job when a property's last_synced_at goes stale (>20h); the job dispatcher runs the sync. Built v2.2.364 — before that the scheduler was referenced in a comment but never existed, so ingestion silently died after one manual sync (May 2026) and Cloud Radar ranked on a frozen snapshot.

Two durable gotchas (v2.2.364): (1) refresh tokens are encrypted with ENCRYPTION_KEY; a key rotation breaks decryption unless the decrypt tries the legacy keys — lbGscDecryptTokenEx() now uses doozerLegacyEncryptionKeys() + self-heals (re-encrypts with the current key). (2) If the Google OAuth consent screen is in "Testing" mode, refresh tokens expire after 7 daysinvalid_grant → dead pipe. Fix: publish the consent screen to production + reconnect the properties. Dev API gsc (status / sync / scan) drives + diagnoses it all.

Lead Capture (the revenue pipeline)Live Music Tonight (livemusictonight.com)