Skip to main content
For advertisers + publishers

One widget.
Two ways to make it pay.

Storyflo is a hosted audio brief for any article on the open web — read by one of four named voices, with an audio-native sponsor slot underneath. Advertisers buy the slot. Publishers embed the widget and take a share of every linkout. The two flows are below.

What it looks like

Three variants of the same widget, rendered with the production components. Host badge on top. Audio player in the middle. Sponsor slot — or the default Powered-by-storyflo footer — underneath.

Tech publisher · Polymarket-sponsored
Finance newswire · Kalshi-sponsored
Independent Substack · default Powered-by-storyflo
For advertisers

One sponsor slot. Four hosts. A real audience.

Storyflo runs four named hosts — Theo on tech, Mason on the markets, Riley on the day, and Iris on health. Each owns a vertical. Listeners follow people, not algorithms — the same dynamic that drives Apple Podcasts and Spotify Studios shows.

Today storyflo serves thirteen verified real listeners across thirty-four vertical podcast feeds, plus the Apple Podcasts and Spotify directory presence the feeds carry. Small, transparent baseline — we publish it on the admin distribution panel because we’d rather you trust the number than oversell it. The curve is the asset; the curve is heading up.

What you buy

  • An audio-native sponsor slot. Renders directly below the player on every embed. Not display. Not programmatic pre-roll. Not a pop-up. A linkout the listener sees while they’re still in the brief.
  • A host-anchored audience. Sponsor under Theo and you’re paired with tech listeners. Under Mason and you’re paired with markets listeners. The host is the audience filter.
  • Counsel-cleared framing for event-contract markets. Kalshi and Polymarket data is used as input to the briefs (price velocity, implied probability, what the market moved on) — not as a bet referral. The sponsor slot is a standard affiliate linkout, not gaming inventory.

Sample rate card

Placeholder ranges; final pricing negotiated per partner. Email us before you build a media plan.

BuySurfaceRange
Host-read sponsor mentionInline in a briefCPM — negotiated
Sponsored vertical (full month)Default sponsor slot on every embed for a verticalFlat — by vertical
Custom integrationBranded brief, host crossover, market-data passthroughScoped to the build
Reach

How we count, what we model, what compounds.

Storyflo's reach is the same brief landing on every surface the buyer touches. We don't quote a single MAU; we quote four layers that compound. Sponsors get the live number on today's surfaces and the modeled number on tomorrow's.

Layer 1 · Direct
13
Verified direct listeners today. 4-persona daily brief shipping 7×/wk. 30-day target: 1,000.
Layer 2 · Distribution
60+
Surfaces simultaneously: Apple Podcasts · Spotify · iHeartRadio (160M MAU) · TuneIn / Tesla / Sonos / BMW / Mercedes dashboards (75M) · Amazon · Alexa Flash Briefing · SmartNews · Flipboard.
Layer 3 · Embedded · modeled
1.9M
Embedded plays/month modeled at the 5-publisher Phase 3 cohort (Daily Mail / Barron's / NHL.com / Bleacher Report / CNBC). Linear scale per new embedder.
Layer 4 · Agent · modeled
50K
Agent-sourced listeners/month at steady state.storyflo-mcp on ChatGPT GPT Store (800M weekly) + Claude Connectors + Cursor + VS Code + Perplexity. Nobody else has this surface.

We don't claim 1M MAU. We claim today's reality plus tomorrow's model plus the compounding mechanic. Every embedder we sign multiplies Layer 3 linearly. Every agent surface we ship onto multiplies Layer 4 linearly. The same ?ref=<your-slug> token threads through audio · embed · voice · agent for the affiliate split.

Who uses the embed

One widget. Three places it pays.

Same script tag, same ?ref=<your-slug> attribution token — three distinct surfaces and three revenue rails. Publishers earn on article-page placements, authors earn on inline newsletter embeds, and anyone with a platform earns on agent-driven distribution.

Publishers

Media sites + sports verticals

Daily Mail, Barron's, NHL.com, CNBC, Bleacher Report. Drop the tag into your article template — Mason on macro, Riley on sports, Theo on tech. Sponsor slot carries the affiliate cascade.

  • One <script> in the article template
  • Auto-renders the persona that owns the vertical
  • Revenue share on every sponsor linkout click
  • Zero overlap with your Prebid / GAM / AdSense stack
Publisher details ↓
Authors

Newsletter writers + Substacks

Marc Rubinstein, Byrne Hobart, Packy McCormick, Nathan Lambert. Your reader gets an audio companion on every issue — your byline stays on it, your ?ref token earns on every sponsor click.

  • Inline embed in Substack / Beehiiv / Ghost issues
  • Audio companion in the same voice as the persona brief
  • Sourcing credit back to your newsletter on every play
  • Same 60/40 split as the publisher tier (operator-locked)
Claim your author revenue → ops@storyflo.com
Agents + Platforms

Anyone with a platform or agent surface

ChatGPT GPT Store, Claude Connectors, Cursor + VS Code MCP catalogs, Perplexity Publisher Program, Discord bots, Telegram channels. Storyflo's MCP server is your attribution rail — every tool call routes the affiliate split back via your ?ref.

  • MCP HTTP/SSE wrapper at api.storyflo.com/v1/mcp/sse
  • npm storyflo-mcp stdio bridge for any agent
  • OAuth 2.1 + PKCE — client identity threads to the affiliate ledger
  • Same 60/40 split; per-row override on request
Register your agent / platform → ops@storyflo.com

All three rails settle into the same Phase 3 syndication portal — admin dashboard at /admin/embedders, attribution rollup via the Dub × Polymarket webhook, counsel-cleared markets-as-INPUT posture across every surface.

For algo traders + bot builders

storyflo-mcp · the signal layer Polymarket and Kalshi don't ship.

If you're building a Polymarket / Kalshi / IBKR ForecastTrader bot, you have the raw event-contract odds. What you don't have is a structured way to answer "why is this market moving right now, and which articles is the consensus reading?"Storyflo's free MCP server exposes Mason's macro brief, Theo on tech, Riley on sports, and the matched-market metadata as 8 typed tool calls.

Polymarket bots

Counter-consensus scoring

get_market_linked_stories(market_slug) returns the cited journalism + signal-tags so you can flag positions where the consensus is slow to catch up to the news.

Kalshi macro bots

Mason's brief as a trade gate

get_vertical_briefing(vertical="finance") on a Fed/CPI/jobs print. Gate your Kalshi entry logic on signal_tags like genuine_uncertainty vs consensus_shifting.

Daily alpha feed

Cron-style alpha report

digest(verticals=["finance","crypto"]) grouped by matched Kalshi / Polymarket contract. Pipe into Slack / Discord / Telegram.

Free; OAuth optional. Counsel-cleared posture: storyflo cites event-contract probabilities as journalist input, never as buy-now output — your bot stays compliant with Polymarket / Kalshi terms.

For publishers

One script tag. Audio on every article. Revenue share.

Drop one tag into your article template. The widget mounts on page, transcodes the article on first request, and renders the audio brief — read by the host that owns your vertical. Your existing display and header-bidding stack is untouched.

The tag

<script
  src="https://storyflo.com/embed/v1.js"
  data-publisher="your-slug"
  async
></script>

The widget mounts in your article surface — wherever you place the empty <div data-storyflo-embed> anchor — and does not compete with your display, native, or header-bidding inventory. There is no overlap with Prebid, GAM, or AdSense.

How you get paid

  • Revenue share on sponsor linkouts. Every embed carries a ?ref=<your-slug> attribution token. When a listener clicks the sponsor (e.g. Polymarket), the affiliate split flows back to your publisher account.
  • Free to embed. No setup fee. No minimum traffic. Storyflo takes a small share of the linkout revenue; the rest is yours.
  • Engagement uplift, not cannibalization. Audio sessions on the widget are net-new dwell time. The listener stays on your page longer — and the host-anchored voice converts listening into subscribing and sharing.

How attribution works

  • Embedder token. Every linkout from the sponsor slot carries ?ref=<publisher-slug> so the affiliate network can attribute the click back to your account.
  • postMessage events. The widget emits storyflo:play, storyflo:complete, and storyflo:sponsor_click to the host window so you can pipe engagement into your own analytics.
  • IAB TCF v2.2 passthrough. EU listener consent is read from your CMP via the standard TCF v2.2 API. We do not collect personal data on EU listeners without a TC string from your CMP.
  • No first-party cookie without consent. Anonymous play counters only, by default. First-party cookies are set only when the host page’s CMP signals consent.

What we do not do

The widget is non-friction by design. Specifically:

  • We do not run third-party VAST audio, AdSense, GAM, or any programmatic fill inside the embed.
  • We do not compete with your display, native, or header-bidding inventory.
  • We do not collect listener PII without explicit consent.
  • We do not track listeners across sites without TCF v2.2 passthrough.
  • We do not insert ads inside the audio itself. The sponsor slot is a text-and-link surface below the player, not pre-roll.

FAQ

Will the widget conflict with my Prebid stack?

No. The widget mounts in its own anchor element and never bids on display inventory. There is no overlap with Prebid.js, GAM, or AdSense — the storyflo surface is the audio player and the sponsor slot beneath it, nothing else.

Does the audio actually drive engagement on my site?

Audio sessions extend dwell time on the host page (the listener stays on the article while they listen). The host-anchored voice — same person on tech every morning, same person on the markets at the close — is what converts a one-off listener into a returning one. Parasocial loop is the moat.

How does the affiliate split work?

Each embed carries ?ref=<your-slug> on every sponsor linkout. The affiliate network attributes the click to your publisher account, the network pays out, and storyflo retains a small share. Splits are negotiated per partner — email us for the current numbers.

What if I don't want a sportsbook sponsor on my publication?

Publisher opt-in for sportsbook-category sponsors is OFF by default. You explicitly enable the categories you want. If you only want event-contract markets (Kalshi, Polymarket), you can run with just those — sportsbooks will never appear on your embeds unless you turn the category on.

Can I run a different sponsor than Polymarket?

Yes. Per-embed sponsor overrides via ?sponsor= / ?sponsor_url= query params on the widget tag. House sponsor, partner sponsor, or none at all — your call, per embed.

Do you take ads in the audio itself?

No. The sponsor slot is a text linkout below the player. The audio is the brief, full stop. We won't insert pre-roll, mid-roll, or programmatic VAST without an explicit operator decision and a separate signed agreement.

What about EU listeners?

IAB TCF v2.2 passthrough. We read the host page's CMP and respect the consent string. No first-party cookie is set, and no first-party analytics fires, until the CMP signals consent for our purposes.

Next step

If you want to sponsor a vertical, embed the widget, or just ask a question — email ops@storyflo.com. One inbox. A human reads it.