| Does the paid text ever reach the reader’s browser?Neither | Three 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?Neither | Yes. 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 EdgeKit | No 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 Piano | Machine-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 EdgeKit | Several. 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 EdgeKit | Not 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 Piano | Eight 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?Neither | Two 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?Neither | Piano. 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?Neither | The 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. |
|---|