Copy as markdown[View .md](https://docs.funnelfizz.com/features/providers "View the raw markdown for this page")[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.funnelfizz.com%2Ffeatures%2Fproviders.md%20and%20help%20me%20with%20this%20FunnelFizz%20topic%3A%20Providers "Open this page in Claude with context")[Open in ChatGPT](https://chat.openai.com/?q=Read%20https%3A%2F%2Fdocs.funnelfizz.com%2Ffeatures%2Fproviders.md%20and%20help%20me%20with%20this%20FunnelFizz%20topic%3A%20Providers "Open this page in ChatGPT with context")

# Providers

**Providers** are the external accounts FunnelFizz reads data from. This page is the complete reference for every supported provider: what it is, what permissions it needs, what data you get, and where it feeds into your funnel.

For the quickstart-level walkthrough, see [Quickstart → Connect providers](https://docs.funnelfizz.com/quickstart/connect-providers.md).

## The roster[​](#the-roster "Direct link to The roster")

| Provider                                        | Auth          | Plan  | Stages          | Refresh           |
| ----------------------------------------------- | ------------- | ----- | --------------- | ----------------- |
| [X (Twitter)](#x-twitter)                       | OAuth 2.0     | FREE  | AWARENESS       | 30 min            |
| [YouTube](#youtube)                             | OAuth 2.0     | FREE  | AWARENESS       | 30 min            |
| [LinkedIn](#linkedin)                           | OAuth 2.0     | FREE  | AWARENESS       | 30 min            |
| [Instagram](#instagram)                         | OAuth 2.0     | FREE  | AWARENESS       | 30 min            |
| [TikTok](#tiktok)                               | OAuth 2.0     | FREE  | AWARENESS       | 30 min            |
| [Reddit](#reddit)                               | OAuth 2.0     | HOBBY | AWARENESS       | 30 min            |
| [Google Search Console](#google-search-console) | OAuth 2.0     | HOBBY | AWARENESS       | 60 min            |
| [Google Ads](#google-ads)                       | OAuth 2.0     | HOBBY | AWARENESS       | 60 min            |
| [Stripe](#stripe)                               | API key / App | FREE  | TRIAL, CUSTOMER | 15 min + webhooks |

All OAuth providers are read-only. FunnelFizz never posts, advertises, or modifies data on your behalf.

## How connecting works (common flow)[​](#how-connecting-works-common-flow "Direct link to How connecting works (common flow)")

1. Go to your funnel's stage → **Connect provider**, or **Settings → Integrations → \[Provider]**.
2. Click **Connect \[Provider]**.
3. Provider OAuth page opens. Review the read-only permissions. Click **Allow**.
4. You're redirected back with a green checkmark.

Behind the scenes:

* A single-use CSRF nonce is generated and embedded in the `state` parameter.
* The OAuth code is exchanged for access + refresh tokens.
* Tokens are encrypted with AES-256 at rest, scoped to your workspace.
* A background sync job runs immediately to pull your recent metrics.

## Workspace-wide, reusable across funnels[​](#workspace-wide-reusable-across-funnels "Direct link to Workspace-wide, reusable across funnels")

Connected providers belong to your **workspace**, not a specific funnel. Connect X once, and every funnel in the workspace can attribute X impressions without re-authenticating. On the connect screen for any new funnel, you'll see a **"Reuse existing"** option.

Each stage links to a provider via a `connections[]` array — so a single provider can power multiple stages across multiple funnels simultaneously.

***

## X (Twitter)[​](#x-twitter "Direct link to X (Twitter)")

**Scopes requested:** `tweet.read`, `users.read`, `follows.read`, `offline.access`.

**Data you get:**

* Post impressions (past 28 days)
* Likes, reposts, replies, bookmarks, quotes
* Follower counts (current + daily change)
* Top posts by impression (top 10)

**How it feeds AWARENESS:** total post impressions in the period become your AWARENESS metric (or contribute to it, if you have other providers too).

**Gotchas:**

* X's free API tier has tight rate limits. For high-traffic accounts, you may hit 15-minute cooldowns. FunnelFizz handles rate limiting gracefully and retries on the next sync.
* Premium X accounts get more granular post-level metrics via the v2 API.

***

## YouTube[​](#youtube "Direct link to YouTube")

**Scopes requested:** `youtube.readonly`, `yt-analytics.readonly`.

**Data you get:**

* Total video views (rolling 28 days)
* Subscriber count
* Watch time (hours)
* Top videos by views

**How it feeds AWARENESS:** video views contribute to AWARENESS impressions.

***

## LinkedIn[​](#linkedin "Direct link to LinkedIn")

**Scopes requested:** `r_organization_social`, `r_liteprofile`, `w_member_social` *(read only — the "w\_" scope is LinkedIn's naming quirk; we do not post)*.

**Data you get:**

* Post impressions
* Reactions, comments, shares
* Follower growth
* Top posts

**Gotchas:**

* LinkedIn distinguishes personal profiles from company pages. You'll pick which one to connect during OAuth. To track both, connect each separately.

***

## Instagram[​](#instagram "Direct link to Instagram")

**Scopes requested:** `user_profile`, `user_media`, `instagram_basic`.

**Data you get:**

* Post reach and impressions
* Engagement (likes, comments, saves, shares)
* Follower count
* Top posts

**Gotchas:**

* Instagram Business or Creator accounts only. Personal accounts don't expose the Graph API.
* Connection goes via Facebook Business Manager. You may need to accept Meta's terms once.

***

## TikTok[​](#tiktok "Direct link to TikTok")

**Scopes requested:** `user.info.basic`, `video.list`, `research.data.basic`.

**Data you get:**

* Video views
* Likes, comments, shares
* Follower growth
* Top videos

***

## Reddit[​](#reddit "Direct link to Reddit")

**Plan:** HOBBY and above.

**Scopes requested:** `read`, `history`, `identity`.

**Data you get:**

* Your submitted posts and their upvotes
* Comment counts on your posts
* Subreddit-level engagement (for subs you mod)

**Gotchas:**

* Reddit heavily rate-limits third-party apps. Sync is 30 min at best; if you're posting frequently, metrics may lag.

***

## Google Search Console[​](#google-search-console "Direct link to Google Search Console")

**Plan:** HOBBY and above.

**Scopes requested:** `webmasters.readonly`.

**Data you get:**

* Impressions (how often you showed up in Google results)
* Clicks (CTR)
* Average position
* Top queries (15)
* Top landing pages (15)
* Country breakdown
* Device breakdown

**Gotchas:**

* GSC has a built-in 2-day data lag. "Today" numbers are always incomplete — wait 48 hours for reliable trend analysis.
* You need to have verified the site in GSC already. If you haven't, do that first at [search.google.com/search-console](https://search.google.com/search-console).

***

## Google Ads[​](#google-ads "Direct link to Google Ads")

**Plan:** HOBBY and above.

**Scopes requested:** `adwords` (read-only).

**Data you get:**

* Impressions
* Clicks (CTR)
* Average CPC
* Spend
* Top campaigns

**Gotchas:**

* Manager (MCC) accounts work — FunnelFizz lets you pick which sub-account to connect.
* Individual campaign-level data is pulled, not keyword-level.

***

## Stripe[​](#stripe "Direct link to Stripe")

See [Quickstart → Connect Stripe](https://docs.funnelfizz.com/quickstart/connect-stripe.md) for setup.

**Auth:** Restricted API key OR the FunnelFizz Stripe App (same key under the hood).

**Required permissions (read-only):**

* Customers
* Charges and Refunds
* Events
* Products and Prices
* Invoices
* Subscriptions
* Balance

**Data you get:**

* Customer records (created date, email, country, default payment method)
* Subscriptions (product, price, trial end, current period, status)
* Charges (gross, net, refunds)
* Invoices
* Events (full webhook stream for real-time updates)

**How it feeds your funnel:**

* TRIAL stage: counts subscriptions with `status = "trialing"`.
* CUSTOMER stage: counts subscriptions with `status = "active"`.
* Churn trichotomy: computed from subscription state transitions.

**Sync frequency:** 15 min via polling + real-time via webhooks (webhooks are auto-configured via the Stripe App, optional for API-key mode).

## Disconnecting or re-authenticating[​](#disconnecting-or-re-authenticating "Direct link to Disconnecting or re-authenticating")

**Settings → Integrations → \[Provider] → Disconnect** revokes FunnelFizz's access and clears the stored tokens. Historical *aggregated* data stays in your funnel; new data stops flowing.

If a provider's token expires (most OAuth tokens rotate every 60–90 days) and auto-refresh fails, you'll see a red "Reconnect" banner on the integration. Click it, re-auth, done.

## Manual entries[​](#manual-entries "Direct link to Manual entries")

For data sources that aren't in the provider list, every stage has a **Manual** input where you can paste daily impression/visitor/customer numbers. Clunky but available — and useful for backfilling historical data from before you connected a provider.

## Requesting a new provider[​](#requesting-a-new-provider "Direct link to Requesting a new provider")

Email **<hello@funnelfizz.com>** with the platform name and why it matters to your funnel. We prioritize by request volume.

***

**Next:** [Mentions →](https://docs.funnelfizz.com/features/mentions.md) — how to monitor 13+ sources for brand mentions.
