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

# Connect providers

**Providers** are external accounts FunnelFizz reads data from — social channels, search consoles, ad platforms. They power the **AWARENESS** stage. Without them, your impressions count is blank and you have to fill in numbers manually.

This is optional. You can absolutely skip it and come back later, especially if you're not posting on social or running ads yet.

## What you can connect[​](#what-you-can-connect "Direct link to What you can connect")

| Provider                  | What it tracks                                      | Plan  |
| ------------------------- | --------------------------------------------------- | ----- |
| **X (Twitter)**           | Post impressions, likes, reposts, replies           | FREE  |
| **YouTube**               | Video views, subscribers, watch time                | FREE  |
| **LinkedIn**              | Post impressions, engagements, follower growth      | FREE  |
| **Instagram**             | Reach, impressions, engagement                      | FREE  |
| **TikTok**                | Views, likes, shares, comments                      | FREE  |
| **Reddit**                | Post views, upvotes, comments                       | HOBBY |
| **Google Search Console** | Impressions, clicks, CTR, avg position, top queries | HOBBY |
| **Google Ads**            | Impressions, clicks, CTR, spend                     | HOBBY |

All of them are read-only. FunnelFizz never posts, comments, or advertises on your behalf.

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

It's the same OAuth dance you've done a hundred times:

1. Go to your funnel's **AWARENESS stage → Connect provider**, or **Settings → Integrations → \[Provider name]**.
2. Click **Connect \[Provider]**.
3. Provider's OAuth page opens. Sign in if needed. Review permissions (all read-only). Click **Allow**.
4. You get redirected back to FunnelFizz with a green checkmark. Done.

Behind the scenes FunnelFizz:

* Generates a one-time CSRF nonce for the `state` parameter.
* Exchanges the OAuth code for access + refresh tokens.
* Encrypts those tokens at rest (AES-256).
* Schedules a background sync to pull your recent metrics.

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

A connected provider belongs to your **workspace**, not to a specific funnel. If you connect your YouTube account once, every funnel in the workspace can attribute YouTube impressions without re-authenticating.

If you already have a provider connected and want to use it in a new funnel, you'll see a **"Reuse existing"** option on the connect screen — no re-OAuth required.

## Stage-scoped attribution[​](#stage-scoped-attribution "Direct link to Stage-scoped attribution")

You choose *where* a provider feeds into your funnel. Most people wire social providers into **AWARENESS**, but you can also wire them into a specific split branch — e.g., "track YouTube impressions that led to TRIAL signups separately from generic social impressions."

Each **FunnelStage** keeps a `connections[]` array of provider-integration pairs. Adding a provider to a stage takes two clicks.

## Rate limits & refresh[​](#rate-limits--refresh "Direct link to Rate limits & refresh")

* **Social providers** refresh every \~30 minutes.
* **Google Search Console / Google Ads** refresh every \~60 minutes (GSC has a 2-day data lag on their end, so numbers for "today" are always roughly approximate).
* **Stripe** refreshes every 15 minutes (see [Connect Stripe](https://docs.funnelfizz.com/quickstart/connect-stripe.md)).

If you need fresh numbers for a demo, click **Sync now** on any provider. There's no charge.

## 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. The *historical* data stays in your funnel (we keep aggregated counts, not raw API responses), but new data stops flowing.

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

## What about providers that aren't listed?[​](#what-about-providers-that-arent-listed "Direct link to What about providers that aren't listed?")

If you use a platform that isn't in the list above — Threads, Bluesky, Substack, ProductHunt, HackerNews — you have two options today:

1. **Manual entries.** Every stage has a "Manual" input field where you can paste daily impression numbers. Clunky but works.
2. **Mentions monitoring.** On PRO, [Mentions](https://docs.funnelfizz.com/features/mentions.md) scans 13+ sources (ProductHunt, HN, DEV.to, GoogleNews, StackExchange, Brave Search, GitHub…) for brand mentions. Not quite the same as a proper OAuth integration but covers a lot of ground.

If there's a specific provider you need, email **<hello@funnelfizz.com>** — we prioritize by request volume.

***

**You're done!** Go back to the canvas and watch your funnel populate. Or keep reading — [Concepts → Stages](https://docs.funnelfizz.com/concepts/stages.md) explains what's actually happening under the hood.
