One-click upsells for Shopify, open source
Post-purchase offers that charge without a second card form, running on your own domain with Shopify as the catalog and the order record. Apache-2.0, and nobody takes a cut of the offer.
curl -O https://raw.githubusercontent.com/autonnel/autonnel/master/docker-compose.yml
docker compose up No Node, no database setup, no account. Opens on localhost:4321.
The actual editor, unedited. No mockups on this page.
Autonnel vs Paid upsell apps
The right-hand column describes the common shape of paid Shopify one-click upsell apps, not one specific product. Check any vendor's current pricing page before comparing.
| Autonnel | Paid upsell apps | |
|---|---|---|
| Pricing model | $0 self-hosted. Managed cloud is a flat $29/mo and takes 0% of upsell revenue, at any order volume. | Monthly subscription tiered by order volume, and in several cases a percentage of the upsell revenue on top. |
| Where the upsell page runs | On your own domain, from your own deployment. Node, Docker or Cloudflare Workers. | Inside the Shopify post-purchase extension slot or an app-rendered page. |
| Card re-entry | None. The upsell reuses the buyer attached at the main checkout and captures a second charge without a new card form. | None, the same post-purchase promise. |
| Where products come from | Shopify, through the Admin API. WooCommerce and Picocart adapters exist too. | Shopify. |
| Where the order lands | Autonnel records the sale and writes it back to Shopify, so fulfilment and reporting stay in one place. | Shopify. |
| Attribution of upsell revenue | Server-side postbacks to Meta, TikTok, Google and Bing, with the click id carried from the landing page through to the upsell charge. | Usually browser pixels, so the upsell charge often lands outside the ad platform attribution window. |
| Source code | Apache-2.0. Read the checkout and upsell path, fork it, change it. | Closed. |
| Payment providers | Stripe and PayPal. | Shopify Payments, typically. |
The buyer is attached to the funnel session at the main checkout. Accepting the offer resolves the variant, prices it, and creates a new payment intent against that same buyer. There is no second card form, and the two sales stay correlated by session rather than being welded into one order.
The apps that own this category price by order volume, and some take a cut of the upsell itself. That is a tax on the exact thing you built the funnel to do. Self-hosted Autonnel has no licence fee at any volume, and the cloud plan is flat.
Catalog, inventory, fulfilment and accounting stay in Shopify. Autonnel owns the cold-traffic landing page, the order form, the bump and the post-purchase offer, and hands the finished sale back.
Autonnel does not extend the Shopify checkout. It renders its own order form and upsell pages on your domain, then creates the order in Shopify through the Admin API. If your traffic already lands on Shopify product pages and you want an offer injected into the checkout you already have, a native post-purchase app is the right shape and installs in one click. Pick Autonnel when the funnel is the entry point, when you want the checkout experience and the attribution data to be yours rather than rented, or when the per-order pricing has started to scale faster than the margin it earns.
FAQ
Does the buyer have to enter their card twice?
No. The buyer is attached to the funnel session during the main checkout, and the upsell capture reuses it. The offer page asks for a variant and a quantity, nothing else.
Is this a Shopify post-purchase extension?
No. Autonnel renders its own funnel pages, order form and upsell steps on your own domain, and writes the resulting order back to Shopify through the Admin API. The Shopify native checkout is not modified.
Do you take a percentage of the upsell?
No. Self-hosting has no licence fee. The managed cloud plan is a flat $29 a month with no percentage of GMV, no per-order fee, and no surcharge on upsells or order bumps.
Which payment providers support the one-click capture?
Stripe and PayPal. Card details never reach your server in either case; see the PCI note in the docs and on the self-hosted checkout page.
Do I need Shopify Plus?
No. Autonnel talks to the standard Admin API and does not need checkout extensibility.
What does it take to try it?
Download docker-compose.yml and run docker compose up. It boots with no store connected, so you can look at the funnel editor first and wire Shopify in when you are ready.