Providers
Providers are the external accounts FunnelFizz reads data from. All OAuth providers are read-only, FunnelFizz never posts, advertises, or modifies data on your behalf.
For the install walkthrough, see Getting Started → Connect providers.
Roster
| Provider | Auth | Plan | Stages | Refresh |
|---|---|---|---|---|
| X (Twitter) | OAuth 2.0 | FREE | AWARENESS | 30 min |
| YouTube | OAuth 2.0 | FREE | AWARENESS | 30 min |
| OAuth 2.0 | FREE | AWARENESS | 30 min | |
| OAuth 2.0 | FREE | AWARENESS | 30 min | |
| TikTok | OAuth 2.0 | FREE | AWARENESS | 30 min |
| OAuth 2.0 | HOBBY | AWARENESS | 30 min | |
| Google Search Console | OAuth 2.0 | HOBBY | AWARENESS | 60 min |
| Google Ads | OAuth 2.0 | HOBBY | AWARENESS | 60 min |
| Stripe | Restricted API key | FREE | TRIAL, CUSTOMER | 15 min + webhooks |
Workspace-wide, reusable across funnels
Connected providers belong to your workspace, not a specific funnel. Connect X once, every funnel can attribute X data without re-authenticating. On the connect screen for any new funnel, you'll see a "Reuse existing" option.
Connecting
Stage card → Connect provider → pick from the list → OAuth (or paste a Stripe restricted key). Tokens are AES-256 encrypted at rest and scoped to your workspace. If a token expires (most rotate every 60–90 days) and auto-refresh fails, a Reconnect banner appears on the integration.
X
Scopes: tweet.read, users.read, offline.access.
Data: post impressions (28 days), likes/reposts/replies/quotes, follower count, top 10 posts.
Notes: X's free API tier rate-limits hard. Premium accounts get more granular post-level metrics via v2.
YouTube
Scopes: youtube.readonly, yt-analytics.readonly.
Data: video views (28-day rolling), subscribers, watch time hours, top videos.
LinkedIn
Scopes: r_organization_social, r_liteprofile (read-only, w_* is LinkedIn's naming quirk; we don't post).
Data: post impressions, reactions/comments/shares, follower growth, top posts.
Notes: Personal vs company page is a choice during OAuth, connect each separately to track both.
Instagram
Scopes: instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement.
Data: post reach + impressions, engagement, follower count, top posts.
Notes: Business or Creator accounts only. Personal accounts don't expose the Graph API. Connection routes through Facebook Business Manager, accept Meta's terms once.
TikTok
Scopes: user.info.basic, video.list, video.insights.
Data: video views, likes/comments/shares, follower growth, top videos.
Reddit
Plan: HOBBY+. Scopes: read, history, identity.
Data: your submitted posts and upvotes, comment counts, subreddit-level engagement (mod subs).
Notes: Reddit rate-limits hard. 30-min sync is the practical floor.
Google Search Console
Plan: HOBBY+. Scopes: webmasters.readonly.
Data: impressions, clicks, CTR, average position, top 15 queries, top 15 landing pages, country + device breakdowns.
Notes: GSC has a built-in 2-day data lag. Today's numbers are always incomplete, wait 48h for trend analysis. The site must be verified in GSC already; if not, do that first at search.google.com/search-console.
Google Ads
Plan: HOBBY+. Scopes: adwords (read-only).
Data: impressions, clicks, CTR, average CPC, spend, top campaigns.
Notes: Manager (MCC) accounts work, pick the sub-account during OAuth. Campaign-level only, not keyword-level.
Stripe
Auth: Restricted API key (rk_live_… / rk_test_…) or the FunnelFizz Stripe App.
Required read-only permissions: Customers · Charges & Refunds · Events · Products & Prices · Invoices · Subscriptions · Balance.
Data: customer records, subscriptions (product/price/trial-end/status), charges, invoices, the full webhook event stream.
One Stripe connection per workspace, one logical link per funnel. Once you connect Stripe to the workspace and link it to a funnel (one click in the dashboard, or link_stripe_to_funnel over MCP), Stripe data flows through every relevant stage, TRIAL trial-detection, CUSTOMER paid-detection, the churn trichotomy, splits by stripe_product, automatically. No need to attach Stripe to multiple stages.
Sync: 15 min polling + real-time webhooks (auto-wired by the Stripe App; optional in API-key mode).
Manual entries
For sources not in the roster, every stage has a Manual input, paste daily impression / visitor / customer numbers. Useful for backfilling from before you connected a provider.
Disconnecting
Settings → Integrations → [Provider] → Disconnect. Revokes access, clears stored tokens. Historical aggregates stay; new data stops flowing.
Requesting a new provider
[email protected]. We prioritize by request volume.