Skip to main content
For Publishers

Replace comment sections with structured public opinion

Add a voting widget to any article in minutes. Readers vote on balanced statements, and you get a clear, data-driven picture of consensus, division, and common ground — with low moderation overhead.

Naming: a discussion is the topic wrapper and embed; several statements sit inside it — the individual lines people rate with agree / disagree / unsure.

You choose every topic and how it is labelled — we do not scrape your site. Link a discussion to a story URL, attach your own CMS reference, type opening statements, or paste a short excerpt so we can suggest wording; your team can automate any of that from your servers when you are ready.

5-minute integration. One iframe. Readers vote without leaving your site.
Low moderation overhead. Start with AI-generated balanced seeds, then let editors refine statements when needed.
Citable data. Structured opinion data you can reference, track, and compare over time.

New to setup? Follow the guided setup or the simple checklist in the reference docs.

Free test environment. No credit card required. Live keys from £49/mo.

Example: Reader embed
Inline on your article

Do you agree with the following statement?

“Local governments should publish plain-language summaries for every major policy decision.”

1,284 votes Tap to vote

Readers vote on balanced statements without leaving your site.

What's new for publishers

Includes non-article discussion support via external_id, signed webhook callbacks, and granular team permissions.

Built for newsroom workflows: use external_id to map CMS records, webhook callbacks to sync downstream systems, and role-based team access to separate editorial and engineering controls.

How it works

One iframe. Three things you get.

Paste a single embed into your article. We handle everything — from generating balanced statements to surfacing where your audience agrees.

1

Readers vote inline

A clean embed appears on your article. Readers agree, disagree, or mark unsure on balanced statements — without leaving your page.

2

You surface the snapshot

Display participation counts and a teaser via the snapshot API. Use it in sidebars, newsletters, or social cards — without exposing raw results.

3

We reveal the consensus

The canonical analysis lives on Society Speaks — opinion clusters, bridge statements, and full methodology. Link to it or quote short excerpts.

From comment section to evidence

Read what the film shows

Replace the comment section.

Paste one iframe.

Styled to match your pages.

See how your readers really divide.

What they agree on.

And what splits them.

A signal your newsroom can use.

Data you can cite.

Replace comment sections with structured public opinion.

See it in action

What your readers will experience

Explore a live discussion on climate action. Vote on statements, then see the analysis: areas of agreement, points of division and bridge ideas.

The Discussion

What readers see on your article

Readers vote on balanced statements — agree, disagree, or unsure. They can also add their own statements and detailed responses with evidence.

Demo discussion

Climate Action: Finding Common Ground

20 statements · 400+ votes · Live results

View Live Discussion

The Consensus Analysis

Results you can cite

After enough participation, the analysis reveals opinion clusters, consensus statements, bridge ideas, and interactive visualisations — structured data you can reference in reporting.

Analysis includes

  • Opinion groups, shown when the votes support them
  • Areas of consensus across all groups
  • Bridge statements that unite perspectives
  • Interactive scatter plot visualisation
View Consensus Analysis

This is a live discussion with real data. Vote on 5 statements to see the full analysis.

Two ways to embed

Pilot by hand or integrate through the API

Use the embed generator for quick starts and one-off embeds. For production, create discussions via API and render embeds automatically from your CMS.

Embed generator (manual)

Look up an article URL or paste a discussion ID, then copy the iframe.

  1. 1) Find your discussion
  2. 2) Generate embed code
  3. 3) Paste into your CMS

Through the API

Best for large publishers. Your CMS requests a discussion ID once, then reuses it forever.

  1. 1) Lookup by article URL
  2. 2) If not found, create discussion via API
  3. 3) Store the returned discussion ID and embed URL

Webhook event example (newsroom-safe)

Deliveries are signed and include an event ID for idempotent processing in your CMS or data pipeline.

{
  "id": "evt_01JNEWSROOM8F9XQ5Z2M2YQ7",
  "type": "discussion.updated",
  "created_at": "2026-04-08T11:24:50Z",
  "partner_id": 42,
  "data": {
    "discussion_id": 3812,
    "title": "Should the city expand low-emission zones?",
    "slug": "should-the-city-expand-low-emission-zones",
    "env": "live",
    "external_id": "observer-cms-382991",
    "article_url": "https://observer.example.com/politics/low-emission-zones"
  }
}

Headers include X-SocietySpeaks-Event-Id and X-SocietySpeaks-Signature.

Integration in 3 lines

Look up a discussion, get the embed URL, and paste this iframe into your template.

<iframe
  src="https://societyspeaks.io/discussions/{id}/embed"
  width="100%" height="600"
  frameborder="0" loading="lazy"
  title="Society Speaks discussion"
></iframe>

Get {id} from the Lookup API or the embed generator.

How editors use this in practice

Before a follow-up story, check where readers split on the original piece.
Spot bridge positions that improve framing and reduce false binaries.
Surface minority but coherent perspectives worth assigning for deeper reporting.
Track shifts in reader response after major policy announcements or events.

Over time, repeated embeds create a structured record of reader responses across your coverage — a clearer trend line than comments or reaction counts alone.

Why this matters for journalism

Journalism is under pressure: comment threads degrade trust, polls flatten nuance, and social reactions amplify extremes. Society Speaks gives editors a structured signal they can cite, compare, and report on.

Traditional Comments

  • Loudest voices dominate
  • No structured signal — just noise
  • Full-time moderation required
  • Nothing citable for follow-up reporting

Society Speaks

  • Every reader's vote counts equally
  • Consensus, division, and bridge ideas — quantified
  • Low moderation — statements are drafted for you and readers vote instead of writing comments
  • Structured data you can cite: "Society Speaks analysis shows..."
Pricing

Plans that scale with your audience

Start free. Pay only when you go live. Every plan includes the full API and the embed generator.

Free

£0

Evaluate and prototype with no commitment.

  • 25 test discussions
  • Full API access (test)
  • Embed generator & playground
  • No credit card required

Starter

£49 /mo

For independent publishers, blogs, and niche sites.

  • Up to 100 live discussions/mo
  • Live API keys & domains
  • Usage dashboard & CSV export
  • Webhook callbacks for lifecycle events
  • Email support
Most popular

Professional

£249 /mo

For regional publishers and growing newsrooms.

  • Up to 500 live discussions/mo
  • Everything in Starter
  • Custom embed themes, colours and fonts
  • Priority email support

Enterprise

Custom

From £2,000/mo

For national publishers, media groups, and high-traffic networks.

  • Unlimited discussions
  • Dedicated account manager
  • SLA & uptime guarantees
  • Custom integrations & onboarding

Prices exclude VAT.

What's the ROI for your publication?

See how reader engagement translates to incremental ad revenue.

£
Assumes Society Speaks embeds appear on 5% of articles. Lift applies to time-on-page and scroll depth, which correlate with higher programmatic CPMs.
Embedded pageviews
—
per month
Incremental ad revenue
—
additional per month
ROI multiple
—
return on spend

This is an illustrative model. Actual impact depends on content mix, audience demographics, and ad stack configuration. Talk to us for a tailored analysis.

Real-world examples at £50 CPM and 10% engagement lift

Scroll to see all columns →

Publisher type Monthly pageviews Embed impressions Incremental revenue Plan cost ROI
Niche / local blog 500K 25K £125/mo £49 2.6x
Regional newspaper 5M 250K £1,250/mo £249 5x
Mid-market publisher 20M 1M £5,000/mo £2,000 2.5x
National publisher 50M 2.5M £12,500/mo £2,000+ 6x+
Large national publisher 150M 7.5M £37,500/mo Custom 10x+

Based on 5% embed penetration across articles, £50 display CPM, and a conservative 10% engagement lift. Higher CPMs (premium inventory, £60–£80) or deeper penetration significantly increase returns.

Your subscription funds the mission

More than engagement — you're investing in public discourse

Society Speaks is built on the belief that structured, respectful public opinion matters. Every partner subscription directly funds the work that makes this possible.

Free civic tools

Revenue funds the free deliberation platform for researchers, civic groups, and non-profits.

Longitudinal studies

Aggregated, anonymised data powers long-term research into how public opinion evolves on the issues that matter.

Broader participation

More embeds across more publications means more readers are heard, including those who never post a comment.

Better policy evidence

Structured opinion data gives policymakers genuine public sentiment — a credible alternative to social media noise.

When readers engage with a Society Speaks embed, you gain usable editorial signal now while contributing to a growing structured record of civic reasoning over time.

Frequently asked questions

Can we run a recurring daily or weekly prompt?

Yes. You can run recurring prompts using the same discussion and embed workflow. Many partners use this to build a repeatable reader signal over time, alongside article-specific embeds.

What if a discussion is not tied to an article URL?

Use your own stable external_id when creating discussions via API or portal. This supports non-article contexts (live blogs, campaign hubs, newsletters), while keeping embeds and analytics linked to your CMS records.

What can readers do in the embed?

Vote (agree, disagree, unsure) and report statements by default. Owners/admins can optionally enable inline statement submissions per discussion from the Partner Portal when their newsroom workflow needs it. See the Rules of the Record.

How long does onboarding take?

Most partners go from signup to first embed in under 30 minutes. Domain DNS verification is the only step that depends on your DNS provider's propagation speed.

What about uptime and SLAs?

Best-effort service for all partners. Enterprise SLAs are available by agreement. Contact us to discuss.

Can our systems be notified automatically when things change?

Yes. Configure webhook endpoints in the Partner Portal to receive signed events for discussion updates and related lifecycle changes. This lets your newsroom systems stay in sync without polling.

Can I customise the embed appearance?

Yes. Choose from preset themes or set custom primary/background colours and fonts. See embed parameters in the API docs.

Can we control teammate access by role?

Yes. Owners and admins can invite teammates and assign granular permissions (keys, discussions, domains, analytics, billing, and webhooks) from the Partner Portal.

Do readers need to create an account?

No. Readers can vote anonymously directly in the embed. Signing in is optional and adds features such as submitting statements and seeing your own voting history on the full Society Speaks site.

Your first embed can be live in five minutes

Create a free account, generate your API key, and paste one iframe into your CMS. No credit card. No sales call. No waiting for approval.