Compare

EdgeKit vs Piano

Piano is the incumbent, and its own about page publishes more than 1,000 clients and more than 400 billion monthly events tracked. What the two products differ on is narrower than that suggests: whether one reader spans your titles, who can query the reader data, and whether a price exists before a sales call.

10 questions · checked 5 September 2026

The tally

Favours EdgeKit
3
Favours Piano
2
Neither
5
Read the questions

Side by side

Ten questions, with EdgeKit’s answer and Piano’s beside it

Rows are ranked by how much each one moves a decision. EdgeKit wins three, Piano wins two, five are even — including the row about the paid text, where both platforms can withhold it and both can ship it.

Checked against Piano's published documentation, 5 September 2026.
The questionPianoEdgeKit
Does the paid text ever reach the reader’s browser?NeitherThree modes. Piano says most clients run the client-side one, where the content is served to the browser and covered there. Edge and server enforcement withhold it, are an additional paid option, and the worker is yours to write and run.EdgeKit’s global CDN in front of your own site withholds the gated body before the response is written, at no extra charge and in every mode — there is no paid tier that withholds and a free one that does not. It asks one thing of your template: a CSS selector naming the article body. Half the paywalled sites we surveyed already declared one; the rest add it in a single deploy, and we verify it per title before you sign. Until it is declared we draw a client-side panel, which is where Piano’s common mode stays.
Do our existing subscribers keep access on cutover day?NeitherYes. A Piano-run migration imports users, subscriptions and access together, and 22 legacy password formats carry across. Piano books the date two to four weeks out, and a wrong import cannot be undone.Yes, from the token you already sign. EdgeKit verifies it and reads its claims on every decision, so nobody signs in again and no card is re-entered — and EdgeKit runs the migration itself rather than handing you a toolkit.
Can we get a price before we talk to anyone?Favours EdgeKitNo published price: piano.io/pricing answers 404, while Piano’s own live terms still cite a fee schedule at that address. The standard agreement raises the per-unit fee each year by the greater of 7% or US CPI.The whole rate card is on the site: eight meters, an included amount and a rate on each, and a $99 monthly floor.
Does the paywall learn on its own, or do we write every rule?Favours PianoMachine-learning segments in Composer: likelihood to subscribe and likelihood to cancel, plus likelihood to register, likelihood to return and content likely to convert. The two subscription models need a Management + Billing licence beside Composer, and the dynamic paywall segments need an Ad Revenue Insights licence and activation on request.Rules you write, over scores EdgeKit already computes: Profile Streaming derives engagement, recency and frequency on the live event stream as it lands on the reader record, and a rule reads them in the same request — as it reads a score written back from a model you already run. What is not shipped is the model that learns the score: EdgeKit AI Paywall, scores an authored rule reads or the rules and the tests handed to the model to optimise for yield, is coming; ask us where it is.
We publish several titles. Is that one reader or several?Favours EdgeKitSeveral. Each title is its own application with its own reader records. Global Mode shares login, email and name across them; subscriptions and access stay per application, and enabling it cannot be undone.One. One reader record behind every title, with one agreement and one set of counts. Which titles a reader is attached to is visibility, not a second account.
Can our own team query the reader data directly?Favours EdgeKitNot the subscriber records: Piano documents a bulk user export you request through its API, and every user endpoint takes an application id. Behavioural data is queryable with SQL through Data Sharing, a contract option on Piano’s own Snowflake.Your reader record is a database of your own. Ask for managed deployment and that database is a project in your own cloud account.
Can we keep the billing vendor we already run?Favours PianoEight recommended providers and eight further technical connections, and you can keep a non-Stripe processor. Stripe now runs the subscription schedule, the invoices and the renewal clock, and Piano’s uptime commitment excludes Stripe downtime.EdgeKit holds one billing model that every processor maps into — accounts, catalog, subscriptions and their items, schedules, invoices, payments, refunds and disputes — and every row records which system it came from. The paywall decision never branches on the provider, so connecting one EdgeKit has not connected before is a connector into a model that already exists, not a second billing model. Recurly and Stripe map into it today, each a full mirror kept current by webhook. Any other processor is wired by EdgeKit, at no charge, inside the migration rather than as a change order after it — and a group mid-cutover can run two at once. Piano lists more connections; none of them leaves the renewal clock where it already is.
Can our data team reach the raw behavioural rows?NeitherTwo paid options. Data Flow drops raw event files to your own storage every 15, 30 or 60 minutes; Data Sharing is SQL across roughly 1,400 columns. Data Flow’s history starts on the day you buy it.Every event, unsampled, as Parquet in object storage — your own cloud account on managed deployment — with self-serve export beside it: CSV on demand from the console, or a scheduled export to a bucket you name. Included, not a contract option.
Who splits the traffic for a test, and who reads the result?NeitherPiano. Up to 10 variants, weights to a tenth of a percentage point, the assignment kept in a browser cookie, and a report naming a probability to be best. A/B tests are not available in its edge mode.EdgeKit, or the experimentation vendor you already run. Either EdgeKit assigns the arm itself, or it reads the one your vendor assigned and decides on that — so the split and the statistics can stay in the tool your team already uses.
Who changes the paywall, the developers or the revenue team?NeitherThe revenue team. Cards dragged onto a canvas in Piano’s dashboard, with no code — except in edge or server mode, where a developer writes and operates the worker that calls Piano.The revenue team, on a role that can publish. An ordered rule they write and deploy themselves, landing as one numbered entry naming who shipped it.

What decides it

What the choice between EdgeKit and Piano turns on

01

Whether one reader spans every title, or every title has its own

In Piano a title is an application, and an application holds its own reader records: Global Mode unifies email, id and name across them, and Piano states that subscriptions and access grants are stored per application. EdgeKit holds one reader record per person for the whole media group, with title attachment as visibility rather than a boundary, so one person reading four of your titles is one reader, one agreement and one set of counts. That does not fuse the titles together. Each site runs on its own terms — its own allowances, meter period, offers, products, sign-in configuration and origins — so a title can be operated independently or as part of the group, and which it is can change without changing the model. Nor does it trap the audience: every title records who belongs to it and what they hold there, so if a title is divested or joint-ventured its readers, grants and history are a set EdgeKit already knows and can split out, as a migration EdgeKit runs rather than a re-platform. What Piano’s shape gives you instead is that separation by default — and the cost of the default is the reconciliation you do for every reader who reads two of your titles.

02

Whose database the reader record is in

EdgeKit provisions one database per media group at signup, and if you ask for managed deployment it is a project in your own cloud account with EdgeKit operating it on your infrastructure. Neither is an upgrade tier. Where the reader record lives is your decision.

03

Whether the price is knowable before a call, and what it does at renewal

Eight meters, an included amount and a rate on each, a $99 monthly floor, and a calculator that asks for no email. Piano publishes no figure at all — its pricing URL answers 404 while its own terms still cite it — and its standard agreement raises the per-unit fee annually by the greater of 7% or US CPI, bills on capacity purchased rather than capacity used, and voids its service-level credits entirely once you exceed that capacity by 15% in a rolling month. Read those clauses yourself before you weigh anything else on this page; they are published at piano.io/legal/msa-dpa.

Questions

What buyers ask us about EdgeKit and Piano

Is Piano’s paywall really client-side, and does it matter?

In its most common mode, yes, and Piano says so plainly. Its implementation checklist states that most Piano clients choose a traditional client-side Composer setup, and its Googlebot page describes that mode as the content being served in the browser and secured on the client side — in its words, covering the content. Piano’s own comparison table rates content protection under a client-side experience as visitor-dependent and only its edge and server modes as full. That is a normal trade for a hosted script, not a fault: it is fast, it needs no infrastructure, and Piano ships two modes that do withhold. What matters commercially is that those two are an additional paid option, they cannot both run on one application, edge mode carries a documented one-page delay in which a reader who has just paid is still blocked, and the worker that calls Piano is written and operated by you. EdgeKit’s equivalent is included, and it has its own ceiling — see the last answer here.

What does a switch from Piano actually involve?

EdgeKit runs it rather than handing you a toolkit. Your reader records, their sign-in state and your billing history move across, and nobody registers again or re-enters a card — sign-in is either kept as-is, with EdgeKit verifying a token you sign and reading its claims on every decision, or replaced with EdgeKit’s own, per title. Your rules do not move: a decision graph does not transfer between engines, so they are re-authored rather than imported, and that is the work worth planning for. Your subscribers’ purchases and the access they carry sync across, so a title moving fully onto EdgeKit sign-in opens on day one rather than waiting on an onboarding project. Worth knowing about the other direction too: Piano’s own import is run by Piano, booked two to four weeks ahead, capped at 500,000 rows a day, and a wrong import cannot be updated or cancelled.

What does EdgeKit cost next to Piano?

We can only answer half of it. EdgeKit publishes every rate, with a calculator you drive with your own volumes. Piano publishes none: its pricing page answers 404 while its own terms still cite it, and the figure comes from an account manager. Its standard agreement does publish the direction of travel — an annual uplift of the greater of 7% or US CPI, on fees payable for capacity purchased rather than capacity used.

Can we take our data out of EdgeKit if we leave?

The data is yours and there is no export fee, here or in the contract. Export is self-serve: CSV on demand from the console, or a scheduled export delivered to your own object storage, beside the event stream that already lands there continuously. Where EdgeKit is deployed into your own cloud account, the database and the event archive sit in infrastructure you control and you do not need us to reach them at all. Piano documents a bulk user export through its API and sells Data Flow and Data Sharing as scheduled routes to the behavioural rows, and its agreement gives you a thirty-day window after termination to request a download of your data. Two things to hold it to, because both are published: those data routes are contract options rather than part of the base product, and after that thirty-day window Piano may delete the lot.

What is the single biggest thing EdgeKit cannot do that Piano can?

Be the thing a thousand publishers already run: Piano’s own about page publishes more than 1,000 clients and twelve years in business. Every row here compares the product, not the track record — weigh that separately. One dependency, named rather than left for you to find: our server-side enforcement needs a CSS selector naming your article body, which an anonymous reader resolves. Half the 26 paywalled sites we surveyed already declared one, the rest are a single deploy away, and we verify it title by title before you sign rather than after. Until a title declares one we draw a panel over a complete page — which is the mode most Piano clients run in permanently.

How we checked

How every Piano claim here was checked, and how to break one

  • Every Piano claim on this page comes from something Piano publishes — docs.piano.io, the legal pages at piano.io/legal, the about page, or Piano’s own unauthenticated API specification, which is where the claims about what its API does and does not contain were read rather than inferred. Ask and we will send you the source behind any row on this page.
  • Checked on 5 September 2026 against Piano’s live pages, then checked again by a second pass whose only instruction was to refute each claim. That pass corrected us on the row we had expected to win: our own internal notes said Piano publishes no version history, and they were wrong — Composer has a version manager, numbered minor and major versions, and a save that is not live until it is activated. That killed the row we had expected to win, and the question is no longer on this page at all. Ask and we will send you what changed and why.
  • Two sourcing caveats, because both could have produced a false claim. Piano’s API reference site renders nothing without JavaScript, so the API claims come from the machine-readable specification behind it rather than from the pages. And Piano’s documentation site answers an address that does not exist with a redirect to its home page rather than an error, so a page appearing to load is not evidence that page exists — no claim here rests on a document we could not read twice.
  • Every EdgeKit claim was checked against EdgeKit’s own code and decision records rather than its marketing. Where the design exists and the build does not, the row says not built, in the cell, in the present tense.
  • Nothing here is a statement by Piano unless it is marked as one, and nothing on this page is an inference presented as a fact.

If a claim here is wrong or out of date, write toinfo@edgekit.cloud and we will correct the page and say what changed. That includes anybody at Piano, the digital analytics and subscription management platform.

Piano, Composer and Piano Analytics are trademarks of their respective owners. EdgeKit is not affiliated with, endorsed by or sponsored by Piano. Product names are used here only to identify the products being compared.

Next step

Bring your own titles, your own stack and your own numbers

A walkthrough against your actual setup, run by somebody who has run a subscription media business, including the rows on this page where Piano wins.

Book a demo