Stage 5 · Pixy Platform

Growth Engineering

Beyond the product, Pixy runs its own revenue automation: server-mediated upgrade and trial-conversion campaigns that turn the existing customer base into expansion revenue — designed so a discount cannot leak.

RS256 signed offersAd-hoc Paddle pricingIdempotent webhooks103 customers reached

Design constraint

The problem with discount codes

A plain discount code, once emailed, spreads to strangers. Post it once on a forum and the margin on every future sale is gone. The usual mitigations — single-use codes, expiry dates — add administration without actually removing the shareable artifact.

The solution: no code to copy

Each recipient gets a /upgrade or /convert link carrying an RS256 JWT bound to their email and one specific licence key, signed with the server’s own RSA key and expiring in 14 days. The price is computed server-side from the token. There is no code, so there is nothing to share.

Mechanics

How an offer completes

  • Clicking the link opens a server-rendered offer page, proxied through the Paddle-approved domain so checkout actually opens.
  • The page creates a Paddle transaction with an ad-hoc price attached to the real product — the discounted amount itself, not a coupon applied to a list price.
  • On payment, the webhook rewrites that one licence in place: same key, same activated device, no reactivation. The customer does not have to re-enter anything.
  • The whole path is idempotent — a unique transaction-id row makes a re-delivered webhook a no-op, so nobody is ever upgraded or charged twice.

Execution

Two campaigns on the same spine

CampaignAudienceOfferOn payment
Upgrade28 existing paying customersCredited for what they already paid (flat credits by segment), offered the Ultimate Suite or the Generate Bundle at their device tierLicence rewritten in place at the new tier
Trial conversion75 trial users, active and expired, excluding anyone who already bought25% offTrial licence converted in place to a lifetime paid licence — real product, lifetime expiry, tool set, one device — guarded so it can only ever flip a still-trial licence

Ultimate upgrades also trigger the free 70-pixel grant. Both campaigns notify admins over Telegram on checkout-open and on purchase, ship behind default-off feature flags, run entirely on additive schema, and were verified end-to-end — offer page, checkout, in-place licence change, tools unlocking in Revit — on controlled inboxes before any customer email went out.

A representative subtlety, found and fixed

An old single-tool licence upgraded to “all” kept its original purchase date, so the entitlement rule graded it as a grandfathered bundle and left the extended tools greyed out in Revit — a customer paying for Ultimate and not getting all of it.

The upgrade now refreshes purchase_date on conversion: the customer bought today’s Ultimate today, so every tool unlocks.