<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Ninety9 — Shopify AOV &amp; CRO blog</title>
    <link>https://ninety9.dev/blog/</link>
    <atom:link href="https://ninety9.dev/rss.xml" rel="self" type="application/rss+xml"/>
    <description>Ninety9 builds conversion-rate optimisation apps for Shopify: AI cart drawers, bundles, upsell popups, free shipping progress bars and post-purchase order editing. Trusted by 20,000+ stores.</description>
    <language>en-us</language>
    <lastBuildDate>Sat, 10 Oct 2026 04:45:19 GMT</lastBuildDate>
    <generator>Ninety9 static site builder</generator>
    <image><url>https://ninety9.dev/assets/img/brand/ninety9-logo.png</url><title>Ninety9</title><link>https://ninety9.dev/</link></image>
    <item>
      <title>Addly vs Easy Bundles Quantity Breaks</title>
      <link>https://ninety9.dev/blog/addly-vs-easy-bundles.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-easy-bundles.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Easy Bundles Quantity Breaks is a tiered-offer app. Addly runs quantity breaks per variant, plus mix and match, sets from real orders, and a free plan with every feature.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Easy Bundles Quantity Breaks is built to make a tiered quantity offer simple to publish.</li><li>Addly keeps the tier plain and adds variant-level prices, bundles, mix and match and add-ons.</li><li>Sets can come from purchase history, and every plan includes the full offer list.</li></ul></section>
<p><a href="https://apps.shopify.com/cartmax?src=ninety9dev" target="_blank" rel="noopener">Easy Bundles Quantity Breaks</a> is aimed at the merchant who wants a quantity offer without a complicated builder. The tier should be obvious to the shopper and obvious to set up. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> is built for that same clarity, and it keeps the rest of the offer stack in the same app so the simple tier can grow up without a second tool.</p>
<p>Easy is a quality of the setup. It is also a quality of the shopper&#39;s decision. Three tiers with plain prices beat a builder the shopper has to learn. The setup stops feeling easy when a second offer type arrives in a second app, with a second way of writing the discount. The product page looks simple and the admin does not.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="three-prices-then-the-catalogue-around-them">Three prices, then the catalogue around them</h2>
<p>Easy Bundles Quantity Breaks concentrates on the tier. Buy more units, see the saving, add them. That is the right default for consumables, socks, supplements and anything people already understand as a multi-buy.</p>
<p><a href="/apps/addly.html">Addly</a> keeps that tier plain, and makes the plain version the one you can check before it is public.</p>
<p>Quantity breaks with a clear ladder, including a ladder per variant. Volume discounts on that same ladder. Product bundles and frequently bought together when a tier is the wrong shape. Mix and match and build-a-box. Add-ons. Suggestions from purchase history for the sets. Live preview. Thirteen languages, Shopify Markets, analytics. Shopify&#39;s own discounts.</p>
<p>The full list is on the free plan under 15 orders, and on $9.99, $24.99 and $49.99. The break can show again in <a href="/apps/addy.html?src=ninety9dev">Addy</a>. Addly is Built for Shopify, rated 4.9 from 111 reviews.</p>
<p>Per-variant ladders sound less simple until you try to explain one ladder that over-discounts a premium size. Two short tables are easier to stand behind than one wrong one. The shopper still sees units and a price. They do not see your internal name for the promotion.</p>
<h2 id="addly-and-easy-bundles">Addly and Easy Bundles</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Easy Bundles</th></tr></thead><tbody>
<tr><td>Price</td><td>Free under 15 orders a month, with every offer</td><td>$6 a month. No free plan</td></tr>
<tr><td>Volume price</td><td>A different break per variant</td><td>Quantity breaks</td></tr>
<tr><td>How pairs are chosen</td><td>From your order history</td><td>Frequently bought together upsells</td></tr>
<tr><td>Languages</td><td>13, plus Shopify Markets</td><td>Not included</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Styles and colour swatches</td></tr>
<tr><td>Which offer to keep</td><td>Click-through, conversion and revenue per offer</td><td>Not included</td></tr>
<tr><td>In the cart</td><td>The same offer can show again in <a href="/apps/addy.html">Addy</a></td><td>The product-page bundle</td></tr>
</tbody></table></div>
<h2 id="keep-the-page-as-plain-as-the-offer">Keep the page as plain as the offer</h2>
<p>Use Addly when you want the quantity break to feel easy on the page and complete in the admin. Start with three tiers and a preselected middle option. Add a bundle only on products that have a real companion.</p>
<p><a href="/blog/quantity-breaks-vs-volume-discounts.html?src=ninety9dev">Quantity breaks vs volume discounts</a> will keep the wording honest. Shoppers should see units and price.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Addly an Easy Bundles alternative?</summary><div class="faq__a"><p>Yes. Addly publishes quantity breaks and product bundles, including mix and match and frequently bought together, with the same features on each plan.</p></div></details>
<details><summary>Can two variants have different break prices?</summary><div class="faq__a"><p>Yes. Volume discounts in Addly can be set per variant.</p></div></details>
<details><summary>What is the cheapest plan with quantity breaks?</summary><div class="faq__a"><p>Forever Free, for stores under 15 orders a month. Quantity breaks are included, along with the other offer types.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs Fast Bundle: Product Bundles on One Plan</title>
      <link>https://ninety9.dev/blog/addly-vs-fast-bundle.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-fast-bundle.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Fast Bundle focuses on getting a product bundle live. Addly keeps that pace and adds variant quantity breaks, mix and match, offers from orders, and a free plan with every feature.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Fast Bundle is a product-bundle app built around getting an offer live quickly.</li><li>Addly includes product bundles, frequently bought together, quantity breaks and mix and match together.</li><li>Features stay the same from the free plan to the $49.99 plan. The order band changes.</li></ul></section>
<p><a href="https://apps.shopify.com/fast-bundle-product-bundles?src=ninety9dev" target="_blank" rel="noopener">Fast Bundle</a> is named for pace. A product bundle should take minutes. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> agrees with the minutes. Pace is a property of the editor and the preview. It is also a property of not splitting the quantity break onto another invoice the month you need it.</p>
<p>Most bundle projects die in configuration. A clear price, a short setup, and a preview you can trust will outrun a workshop. The bill is the part to read twice. <a href="/apps/addly.html">Addly</a> meters by orders and keeps the widget. Under 15 orders a month you pay nothing, and you still have the full offer list.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="minutes-then-the-next-product">Minutes, then the next product</h2>
<p>Fast Bundle targets merchants who have decided on a bundle and want it on the page. Product bundles, a clear price, a short setup. That promise is right.</p>
<p>Addly&#39;s version of the same afternoon:</p>
<p>Product bundles and frequently bought together. Quantity breaks and volume discounts at variant level, ready when the sealed set is the wrong shape. Mix and match and build-a-box. Add-ons. Suggestions from purchase history. Live preview and offer analytics. Thirteen languages and Shopify Markets. Shopify&#39;s own discounts.</p>
<p>Forever Free under 15 orders a month includes that list. Then $9.99, $24.99 and $49.99. If you only publish one fixed bundle, you have still not paid extra for the features you did not use. They are there for the next product. The offer can also sit in the <a href="/apps/addy.html?src=ninety9dev">Addy</a> drawer. Addly is rated 4.9 from 111 reviews and is Built for Shopify.</p>
<h2 id="addly-and-fast-bundle">Addly and Fast Bundle</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Fast Bundle</th></tr></thead><tbody>
<tr><td>Plans</td><td>Same offers on every plan. Free under 15 orders, then $9.99, $24.99 and $49.99</td><td>Free on development stores. Then $19, $49 and $139, named for 1K, 3K and 10K</td></tr>
<tr><td>Suggestions</td><td>From your own orders, on the free plan</td><td>AI frequently bought together starts at $19</td></tr>
<tr><td>Volume price</td><td>A different break per variant</td><td>Volume discount upsell</td></tr>
<tr><td>Shopper-built sets</td><td>Nested conditions inside mix and match</td><td>Mix and match</td></tr>
<tr><td>Languages</td><td>13</td><td>Support in English</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Not included</td></tr>
<tr><td>Which offer to keep</td><td>Click-through, conversion and revenue per offer</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="one-sitting-one-bundle-the-rest-waiting">One sitting, one bundle, the rest waiting</h2>
<p>Use Addly when you want to publish a set in one sitting and you want the quantity break available without changing what the app can do. Put a single bundle on the hero product this week. The rest of the catalogue can wait.</p>
<p>The shapes are documented in <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">Shopify product bundles</a>. Publish the one you can explain in a sentence. &quot;Three for the price of two&quot; is a sentence. A page of optional rules is a workshop.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Addly straightforward to publish?</summary><div class="faq__a"><p>You can publish one bundle and stop. Live preview shows it first. Quantity breaks, mix and match and offers from orders are there when you want them, including on the free plan.</p></div></details>
<details><summary>How is Addly priced?</summary><div class="faq__a"><p>By monthly orders: free under 15, $9.99 from 16 to 100, $24.99 from 101 to 500, and $49.99 above that. Features stay the same at each step.</p></div></details>
<details><summary>Are the discounts real Shopify discounts?</summary><div class="faq__a"><p>Yes. Addly uses Shopify&#39;s own discount system.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs Frequently Bought Together by Code Black Belt</title>
      <link>https://ninety9.dev/blog/addly-vs-frequently-bought-together.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-frequently-bought-together.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Compare Addly with Frequently Bought Together from Code Black Belt. Sets from real orders, quantity breaks, mix and match, and every offer on every plan.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Frequently Bought Together shows the products people already buy as a set.</li><li>Addly includes that set and adds quantity breaks, mix and match and add-ons.</li><li>The set can come from your own orders, and every offer type is on every plan.</li></ul></section>
<p><a href="https://apps.shopify.com/frequently-bought-together?src=ninety9dev" target="_blank" rel="noopener">Frequently Bought Together</a> from Code Black Belt does one job cleanly. It puts a set on the product page: this item, plus the items shoppers already buy with it. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> treats that set as one offer inside a broader bundle app, because the pair is usually the start of the merchandising, not the end.</p>
<p>A camera and a case. A serum and a moisturiser. The page should show the pair, show one decision, and add both in one click. That widget converts when the pair is true. It stalls when the next request is &quot;now let them buy three of the serum&quot; and the discount has to move to a second app.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="pairs-are-a-merchandising-decision">Pairs are a merchandising decision</h2>
<p>The bought-together widget works when the catalogue has natural companions. You are not inventing a bundle. You are showing a habit the orders already contain. Code Black Belt&#39;s app is aimed at that pair.</p>
<p><a href="/apps/addly.html">Addly</a> can start the same way. The AI reads purchase history, so the suggestion comes from orders in this store. On a new shop, with little history, you pick the set yourself. Manual sets stay first-class. The history becomes useful after orders exist, which is the sequence a store actually lives.</p>
<p>A pair and a quantity break on the same product should share one discount. Two systems on one page is how the price in the widget and the price in the cart drift apart. Addly runs the pair, the quantity break, the mix-and-match box and the add-on through Shopify&#39;s own discounts.</p>
<h2 id="variant-prices-kits-and-the-small-yes">Variant prices, kits, and the small yes</h2>
<p>A 30ml and a 100ml often need different volume prices. Addly can set the break on the variant, so the expensive size is not dragged down by the travel size&#39;s table. Mix and match and build-a-box are there when the shopper should choose the contents. Add-ons cover the optional extra that should not force a new bundle.</p>
<p>Live preview shows the widget on your theme. Thirteen languages and Shopify Markets carry it into another country. Offer analytics show which set earns its place. Every one of those tools is on the free plan, for stores under 15 orders a month, and on the $9.99, $24.99 and $49.99 plans. The band is orders.</p>
<p>The set can also show in the <a href="/apps/addy.html?src=ninety9dev">Addy</a> drawer, so the product page and the cart agree. Addly is rated 4.9 from 111 reviews and is Built for Shopify.</p>
<h2 id="addly-and-frequently-bought-together">Addly and Frequently Bought Together</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Frequently Bought Together</th></tr></thead><tbody>
<tr><td>Free plan</td><td>Every offer type, under 15 orders a month</td><td>3 manual bundles, basic styling, basic support</td></tr>
<tr><td>Pairs</td><td>From your orders, or chosen by you, on every plan</td><td>Automatic recommendations start at $14.99</td></tr>
<tr><td>Same product, more units</td><td>Quantity breaks, including one variant</td><td>Not included</td></tr>
<tr><td>Shopper-built sets</td><td>Mix and match and build-a-box</td><td>Not included</td></tr>
<tr><td>Small extras</td><td>Warranty, gift wrap, shipping protection</td><td>Not included</td></tr>
<tr><td>Languages</td><td>13, on every plan</td><td>Translations start at $14.99</td></tr>
<tr><td>Where it shows</td><td>Product page, and again in the <a href="/apps/addy.html">Addy</a> cart</td><td>Product and cart widgets start at $14.99</td></tr>
<tr><td>Reading the winner</td><td>Click-through, conversion and revenue per offer</td><td>Analytics start at $14.99</td></tr>
</tbody></table></div>
<h2 id="when-the-pair-is-the-start">When the pair is the start</h2>
<p>Choose Addly when &quot;bought together&quot; is the first offer and you expect a quantity break or a box on the same catalogue. If the only thing you will ever publish is one static pair, a dedicated widget matches that brief. The moment the same product needs a second offer shape, one app should own both discounts.</p>
<p>See <a href="/blog/frequently-bought-together-shopify.html?src=ninety9dev">frequently bought together on Shopify</a> for how to pick the set, and the <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">bundles guide</a> for the other shapes.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Does Addly replace a frequently bought together app?</summary><div class="faq__a"><p>Yes. Addly can show products that are bought together, and it can also run quantity breaks, mix and match and add-ons from the same app.</p></div></details>
<details><summary>Where do the recommendations come from?</summary><div class="faq__a"><p>Addly can read purchase history, so the set is based on orders placed in the store. You can also choose the products yourself.</p></div></details>
<details><summary>Does a small store get the set?</summary><div class="faq__a"><p>Yes. The free plan, for stores under 15 orders a month, includes the same features as the $49.99 plan.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs Kaching Bundles: Shopify Bundles Compared</title>
      <link>https://ninety9.dev/blog/addly-vs-kaching-bundles.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-kaching-bundles.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Kaching Bundles and Addly both sell quantity breaks and bundles on Shopify. Compare offers from real orders, variant pricing, mix and match, and plans that keep every feature.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Kaching Bundles made the quantity-break widget familiar on Shopify.</li><li>Addly runs that break, plus bought-together sets, mix and match and add-ons, on every plan.</li><li>A volume price can differ by variant, and suggestions can come from real orders.</li></ul></section>
<p><a href="https://apps.shopify.com/bundle-deals?src=ninety9dev" target="_blank" rel="noopener">Kaching Bundles</a> taught a lot of Shopify stores the quantity-break widget. Buy two, save more. Buy three, save more again. The choice is obvious, and obvious choices convert. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> is built for that same moment on the product page, and for the offers a single tier table does not cover.</p>
<p>A quantity break is one offer. A real catalogue usually needs four: the break, the set people already buy together, the box they build themselves, and the small add-on under the button. <a href="/apps/addly.html">Addly</a> keeps those in one app. The free plan includes them.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-tier-is-the-easy-offer-it-is-rarely-the-only-one">The tier is the easy offer. It is rarely the only one.</h2>
<p>Kaching is a deal widget. The shopper sees the step from one unit to several, and the price updates. That is the right default for socks, supplements, refills and anything people already understand as a multi-buy.</p>
<p>The week after a tier is live, merchants ask for the rest. Can this shade have its own price? Can the shopper build a kit? Can we show the moisturiser that actually gets bought with the serum? Addly is set up for those questions on day one.</p>
<p>Quantity breaks and volume discounts can sit on a single variant. A premium size and a travel size do not have to share a table that over-discounts one of them. Frequently bought together can use real purchase history, so the pair comes from orders, or you can pick it yourself. Mix and match and build-a-box cover the kit the shopper assembles. Add-ons cover the small yes: gift wrap, a refill, a case.</p>
<p>You preview the widget on the real theme before it is public. The wrong preselected tier teaches people to buy one. You want to see that before they do.</p>
<h2 id="one-price-list-every-plan">One price list, every plan</h2>
<p>Addly&#39;s plans follow orders. Under 15 orders a month, the plan is free. Then $9.99, $24.99 and $49.99. Every plan includes the same offers: bundles, quantity breaks, volume discounts, add-ons, mix and match, AI offers, and Markets. Growing the store changes the bill. It does not take the widget away.</p>
<p>Offers go through Shopify&#39;s own discounts, so the price on the page and the price at checkout are the same discount. Thirteen languages and Shopify Markets keep the offer readable when you leave the home country. Analytics tell you which offer to keep. The same offer can show again in the <a href="/apps/addy.html?src=ninety9dev">Addy</a> cart drawer, so the product page and the cart tell one story.</p>
<p>Addly is rated 4.9 from 111 reviews and carries the Built for Shopify badge.</p>
<h2 id="addly-and-kaching-bundles">Addly and Kaching Bundles</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Kaching Bundles</th></tr></thead><tbody>
<tr><td>What every plan includes</td><td>Frequently bought together, quantity breaks, mix and match, add-ons and AI offers, including free under 15 orders a month</td><td>Starter is $14.99 and caps extra revenue at $1,000. Scale caps it at $5,000. Pro is $59.99 and caps it at $10,000</td></tr>
<tr><td>Volume price</td><td>A different break for a single variant</td><td>Volume discount on products or collections</td></tr>
<tr><td>Shopper-built sets</td><td>Mix and match and build-a-box, with conditions inside conditions</td><td>Bundle deals you configure</td></tr>
<tr><td>How pairs are chosen</td><td>From your real orders, or by you</td><td>Bundles, gifts and upsells you set up</td></tr>
<tr><td>Add-ons</td><td>Warranty, gift wrap or shipping protection, one click</td><td>Free gifts and custom upsells</td></tr>
<tr><td>Languages</td><td>13, plus Shopify Markets</td><td>9 languages</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Colours and styling</td></tr>
<tr><td>In the cart</td><td>The same offer can show again in the <a href="/apps/addy.html">Addy</a> drawer</td><td>The product-page deal</td></tr>
</tbody></table></div>
<h2 id="how-to-run-the-page">How to run the page</h2>
<p>Put the tier on the SKU people already buy in multiples. Put the pair on the SKU that has a real companion in your orders. Leave the box for products where choice is the point. Two shapes on a template is plenty. Six shapes is a page with no offer.</p>
<p>The definitions are in the <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">Shopify product bundles guide</a> and in <a href="/blog/quantity-breaks-vs-volume-discounts.html?src=ninety9dev">quantity breaks vs volume discounts</a>.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Addly a Kaching Bundles alternative?</summary><div class="faq__a"><p>Yes. Addly covers quantity breaks, bundles, mix and match, add-ons and frequently bought together, with suggestions from purchase history and the same features on every plan.</p></div></details>
<details><summary>Do cheaper Addly plans lose offers?</summary><div class="faq__a"><p>No. Forever Free, Starting out, Getting traction and Scaling include the same offer types. The plan follows monthly orders, from free under 15 orders to $49.99 at 500 or more.</p></div></details>
<details><summary>Can two variants have different quantity prices?</summary><div class="faq__a"><p>Yes. Addly can price a volume break on the variant, so a 30ml and a 100ml do not have to share one table.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs MBC Bundles: Product Bundles on Shopify</title>
      <link>https://ninety9.dev/blog/addly-vs-mbc-bundles.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-mbc-bundles.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>MBC Bundles groups products into Shopify bundles. Addly adds quantity breaks, mix and match, offers from real orders, and the same tools on every plan.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>MBC Bundles groups SKUs into an offer the shopper can buy as a set.</li><li>Addly groups products and also runs quantity breaks, build-a-box and add-ons.</li><li>A group can be proposed from purchase history, or you can pick every product yourself.</li></ul></section>
<p><a href="https://apps.shopify.com/bundle-products-mbc?src=ninety9dev" target="_blank" rel="noopener">MBC Bundles</a> is a product-bundle app. You group SKUs, you price the group, you put it on the store. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> still does that group. It also answers the two requests that show up the week after a bundle app goes live: can they build their own, and can three of the same one cost less.</p>
<p>A fixed kit is a merchandising decision. A starter set, a gift box, a device plus the thing it needs. It should not require a second app the moment the decision changes.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="kits-rot-when-the-only-edit-is-a-new-fixed-group">Kits rot when the only edit is a new fixed group</h2>
<p>MBC sits in the &quot;bundle these products&quot; category. The merchant knows the kit. The app&#39;s job is to sell that kit as one decision. That is a strong job when the kit is truly fixed.</p>
<p>Kits change. A summer kit and a winter kit are two bundles. A shopper who wants the kit without one item needs mix and match. A shopper who wants three of the hero needs a quantity break. One catalogue often has all three, sometimes on the same collection.</p>
<p><a href="/apps/addly.html">Addly</a> keeps the fixed group and the variations.</p>
<p>Product bundles and frequently bought together. Groups drawn from purchase history, plus bundles you specify. On a two-week-old store, history is a poor guide, so you pick the kit. The suggestions become useful after orders exist. Mix and match and build-a-box when the kit should be flexible. Quantity breaks and volume discounts, including per variant. Add-ons for the optional extra that should not force a new bundle.</p>
<p>Live preview, analytics, 13 languages, Shopify Markets. Shopify&#39;s own discounts. All of that on every plan: free under 15 orders, then $9.99, $24.99 and $49.99. In-cart presentation with <a href="/apps/addy.html?src=ninety9dev">Addy</a>. Rated 4.9 from 111 reviews, Built for Shopify.</p>
<h2 id="addly-and-mbc-bundles">Addly and MBC Bundles</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>MBC Bundles</th></tr></thead><tbody>
<tr><td>Top price</td><td>$49.99, with every offer on every plan</td><td>$159.99 on the top plan</td></tr>
<tr><td>Small stores</td><td>Free under 15 orders a month, full feature set</td><td>Development stores, then $15.99 and $59.99 before the top plan</td></tr>
<tr><td>Volume price</td><td>A different break per variant</td><td>Quantity breaks and volume discount</td></tr>
<tr><td>How pairs are chosen</td><td>From your order history</td><td>Not included</td></tr>
<tr><td>Shopper-built sets</td><td>Mix and match with nested conditions, on every plan</td><td>Mix and match and a bundle builder</td></tr>
<tr><td>Languages</td><td>13 out of the box</td><td>Shopify Markets</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Not included</td></tr>
<tr><td>Which offer to keep</td><td>Click-through, conversion and revenue per offer</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="install-for-the-kit-you-have-and-the-kit-you-will-have">Install for the kit you have, and the kit you will have</h2>
<p>Use Addly when the bundle is a kit today and might be a ladder or a box next quarter. MBC&#39;s idea, a clear group of products, is the right starting offer. Addly is the home for it when you expect the offer to change shape.</p>
<p><a href="/blog/frequently-bought-together-shopify.html?src=ninety9dev">Frequently bought together</a> is the tight version of a kit. The <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">bundles guide</a> covers the looser ones.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Can Addly create a product bundle like MBC?</summary><div class="faq__a"><p>Yes. Addly builds product bundles and frequently bought together sets, using your choices or purchase history.</p></div></details>
<details><summary>What if shoppers should build the bundle themselves?</summary><div class="faq__a"><p>Use mix and match or build-a-box. They choose the contents on the product page, and the discount is a Shopify discount.</p></div></details>
<details><summary>Does Addly work with almost no orders yet?</summary><div class="faq__a"><p>Yes. Under 15 orders a month the plan is free and still includes every feature. With little history, you pick the bundle until there are orders to read.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs P: Quantity Breaks &amp; Bundles</title>
      <link>https://ninety9.dev/blog/addly-vs-pareto-quantity-breaks.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-pareto-quantity-breaks.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>P: Quantity Breaks &amp; Bundles focuses on tiered pricing. Addly adds sets from real orders, mix and match, variant-level breaks, and plans that keep every feature.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>P: Quantity Breaks &amp; Bundles is a tiered-pricing app for volume and bundles.</li><li>Addly runs those tiers per variant and adds bought-together sets, mix and match and add-ons.</li><li>Suggestions can use purchase history, and the free plan includes the full offer set.</li></ul></section>
<p><a href="https://apps.shopify.com/quantity-price-breaks-limit-purchase?src=ninety9dev" target="_blank" rel="noopener">P: Quantity Breaks &amp; Bundles</a> is a pricing app. The product page grows a ladder, and each rung is a better unit price. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> includes that ladder and the other offers a product page uses once the ladder is not the only story.</p>
<p>Tier tables fail in a specific, expensive way. They assume every variant shares one price logic. A 50ml and a 200ml, or a standard size and a plus size, often need two ladders. One shared table over-discounts the expensive SKU or under-discounts the cheap one. Either way the margin is wrong, and the shopper can feel it.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="a-ladder-is-a-good-default-it-is-a-bad-universal-rule">A ladder is a good default. It is a bad universal rule.</h2>
<p>Pareto&#39;s app is for merchants who think in breaks. Buy 1, buy 2, buy 4. The widget makes the break obvious, which is why the category converts. Bundles sit next to the breaks so a set can have a deal too.</p>
<p><a href="/apps/addly.html">Addly</a> keeps the ladder and lets it differ by variant. Publish one table on the SKU that has one price. Publish two short tables when the sizes should not share a discount. Two honest tables are easier to defend than one clever table that is wrong on the premium size.</p>
<p>The page can also sell a pair. Frequently bought together can come from purchase history or from products you choose. A store that only has ladders never shows the companion someone would have added if they had seen it. Mix and match and build-a-box cover the set the shopper assembles. Add-ons cover the small item that belongs in the order without becoming its own bundle.</p>
<h2 id="the-plan-should-not-hide-the-ladder">The plan should not hide the ladder</h2>
<p>Every Addly plan has the same offers. Forever Free is for stores under 15 orders a month. Then $9.99, $24.99 and $49.99 as orders grow. You preview the widget before it is public, in 13 languages, on Shopify Markets. Analytics sit on the offer. The discount is Shopify&#39;s own, so the cart does not reconcile two apps.</p>
<p>The break can show again in the <a href="/apps/addy.html?src=ninety9dev">Addy</a> drawer. Addly is rated 4.9 from 111 reviews and is Built for Shopify.</p>
<h2 id="addly-and-pareto">Addly and Pareto</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>P: Quantity Breaks &amp; Bundles</th></tr></thead><tbody>
<tr><td>Free plan</td><td>Every offer type, under 15 orders a month, no revenue cap</td><td>1 active offer, and extra revenue capped at $300</td></tr>
<tr><td>Volume price</td><td>A different ladder per variant, on every plan</td><td>Volume discounts on the offer</td></tr>
<tr><td>Shopper-built sets</td><td>Mix and match on every plan, including free</td><td>Multi-product bundles on the $59.99 plan</td></tr>
<tr><td>Add-ons</td><td>On every plan</td><td>Bundles and add-ons on the $29.99 plan</td></tr>
<tr><td>How pairs are chosen</td><td>From your order history</td><td>Not included</td></tr>
<tr><td>Languages</td><td>13 out of the box</td><td>Auto-translate on the $59.99 plan</td></tr>
<tr><td>Revenue cap</td><td>None. Plans change with orders, not with a revenue ceiling</td><td>$300, then $2,000, $5,000 and $10,000</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>A basic in-app layout on the free plan</td></tr>
</tbody></table></div>
<h2 id="set-the-table-you-can-explain">Set the table you can explain</h2>
<p>Use Addly when the break is real and the catalogue is more than one SKU. Start with three tiers and a preselected middle option. Add a pair only where orders say two products belong together.</p>
<p>Read <a href="/blog/quantity-breaks-vs-volume-discounts.html?src=ninety9dev">quantity breaks vs volume discounts</a> before you copy one table onto a whole collection.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Can Addly show a quantity-break table?</summary><div class="faq__a"><p>Yes. Addly supports quantity breaks and volume discounts, including a different discount for each variant.</p></div></details>
<details><summary>What else can sit on the product page?</summary><div class="faq__a"><p>Frequently bought together, mix and match, build-a-box and add-ons, plus offers based on past orders.</p></div></details>
<details><summary>Are features locked on the free plan?</summary><div class="faq__a"><p>No. Every Addly plan has the same features. You pay by monthly orders, and stores under 15 orders stay on Forever Free.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs Pumper Bundles: Quantity Breaks on Shopify</title>
      <link>https://ninety9.dev/blog/addly-vs-pumper-bundles.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-pumper-bundles.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Pumper sells quantity breaks and product bundles. Addly matches that job with variant prices, offers from real orders, mix and match, and every feature on every plan.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Pumper is a quantity-break and product-bundle app built around a clear tier widget.</li><li>Addly adds a volume price per variant, mix and match, add-ons and offers from real orders.</li><li>Plans scale with orders. A store under 15 orders a month keeps the full set for free.</li></ul></section>
<p><a href="https://apps.shopify.com/pumper-quantity-breaks-product-bundles-discounts?src=ninety9dev" target="_blank" rel="noopener">Pumper</a> is a quantity-break app with bundles attached. The promise is speed: get a tiered offer onto the product page and let the unit price do the selling. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> is in that race, with room for the next offer once the tier is live.</p>
<p>A widget you can publish this afternoon beats a perfect offer that is still a draft in May. The next question is whether that widget is the only one the product will need. A hero with one price can live on a single table. A hero with variants, or a hero people buy with something else, needs more than the table.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="publish-the-break-then-keep-the-set-in-the-same-place">Publish the break, then keep the set in the same place</h2>
<p>Pumper concentrates on breaks and product bundles. Merchants who want a visible &quot;buy more, save more&quot; block are the audience. The widget is the conversion tool.</p>
<p><a href="/apps/addly.html">Addly</a> gives you that block and the pieces that usually arrive as a second install.</p>
<p>A different volume price per variant, so sizes and shades stay honest. Product bundles and frequently bought together, including sets drawn from purchase history. Mix and match and build-a-box when the shopper should assemble the offer. Add-ons for the small item under the main product. Live preview, so you see which tier is preselected before the theme does. Thirteen languages, Shopify Markets, and analytics on the offers you publish.</p>
<p>The discount is Shopify&#39;s own. Every feature is on every plan: free under 15 monthly orders, then $9.99, $24.99 and $49.99. The offer can show again in the <a href="/apps/addy.html?src=ninety9dev">Addy</a> drawer. Addly is rated 4.9 from 111 reviews and is Built for Shopify.</p>
<p>Live preview matters on a tier widget because the wrong default teaches the shopper to buy one. Look at the preselected option before you publish. If the middle tier is the one your margin wants, make it the one their eye hits first.</p>
<h2 id="addly-and-pumper">Addly and Pumper</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Pumper</th></tr></thead><tbody>
<tr><td>Free plan</td><td>Every offer, under 15 orders a month, no revenue cap</td><td>Free until $300 of extra revenue, then $9.99, $29.99 and $49.99</td></tr>
<tr><td>Volume price</td><td>A different break per variant</td><td>Quantity breaks</td></tr>
<tr><td>How pairs are chosen</td><td>From your order history, or by you</td><td>Bundles you build</td></tr>
<tr><td>Shopper-built sets</td><td>Mix and match, with conditions inside conditions</td><td>A bundle builder</td></tr>
<tr><td>Add-ons</td><td>Warranty, gift wrap, shipping protection</td><td>Not included</td></tr>
<tr><td>Languages</td><td>13, plus Shopify Markets</td><td>Not included</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Not included</td></tr>
<tr><td>Which offer to keep</td><td>Click-through, conversion and revenue per offer</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="start-with-the-sentence-you-can-say-out-loud">Start with the sentence you can say out loud</h2>
<p>&quot;Three for a better unit price&quot; is a sentence. Publish that on the SKUs people already replenish. Add the companion product when orders say two SKUs belong together. Addly holds both, so the second offer does not become a second discount system.</p>
<p>The merchandising notes are in the <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">bundles guide</a>. A drawer cannot rescue a tier table nobody understands. Get the page right first.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Addly an alternative to Pumper?</summary><div class="faq__a"><p>Yes, for quantity breaks and product bundles. Addly also runs frequently bought together, mix and match and add-ons, with suggestions from purchase history.</p></div></details>
<details><summary>How does Addly pricing work?</summary><div class="faq__a"><p>Free under 15 orders a month, then $9.99, $24.99 and $49.99. Every plan includes every offer type.</p></div></details>
<details><summary>Can the offer show in the cart?</summary><div class="faq__a"><p>Yes. Addly offers can be presented again in the Addy cart drawer.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs Rapid Bundles: Fast Shopify Bundle Setup</title>
      <link>https://ninety9.dev/blog/addly-vs-rapid-bundles.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-rapid-bundles.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Rapid Bundles &amp; Upsell gets a bundle widget onto Shopify quickly. Addly pairs that pace with offers from real orders, variant quantity breaks, mix and match, and a free full plan.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Rapid Bundles &amp; Upsell is built to get a bundle or upsell widget onto Shopify quickly.</li><li>Addly adds purchase-history suggestions, volume prices per variant and mix and match, with a live preview.</li><li>Stores under 15 orders a month get every offer type on the free plan.</li></ul></section>
<p><a href="https://apps.shopify.com/rapi?src=ninety9dev" target="_blank" rel="noopener">Rapid Bundles</a> is sold as speed. The bundle or upsell should be on the product page before the afternoon disappears. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> treats speed as a preview and a suggestion. A fast empty widget is still an empty widget. A fast draft that reflects what people buy is something you can publish.</p>
<p>Any offer is better than a lone add-to-cart button. The second week is the real test. If the draft was generic, and every variant shares a discount it should not share, you will rebuild it. Speed you have to redo is a delay with extra steps.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="day-one-should-include-seeing-the-offer">Day one should include seeing the offer</h2>
<p>Rapid-style apps win the install when the store has no offer at all. The merchant wants a bundle, an upsell, or a break, and they want it today. <a href="/apps/addly.html">Addly</a>&#39;s version of today includes two things you can look at.</p>
<p>Suggestions from purchase history, so the first set is tied to orders in this store. On a brand-new shop you still choose the products yourself. And a live preview, so day one includes seeing the widget in place, including which option is preselected.</p>
<p>Behind that draft the full set is already there. Frequently bought together and product bundles. Quantity breaks and volume discounts per variant. Mix and match and build-a-box. Add-ons. Thirteen languages, Shopify Markets, offer analytics. Shopify&#39;s own discounts. Every feature on every plan, including free under 15 orders a month. After that: $9.99, $24.99, $49.99.</p>
<p>A second surface is the <a href="/apps/addy.html?src=ninety9dev">Addy</a> drawer, if the product page should not be the only place the offer appears. Addly is rated 4.9 from 111 reviews and is Built for Shopify.</p>
<h2 id="addly-and-rapid-bundles">Addly and Rapid Bundles</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Rapid Bundles</th></tr></thead><tbody>
<tr><td>Revenue cap</td><td>None. The same offers run from free through $49.99</td><td>Forever free stops at $100 a month from the app. Then $1,000 and $10,000 caps, until Elite at $59</td></tr>
<tr><td>Volume price</td><td>A different break per variant, on every plan</td><td>Volume discounts start at $15</td></tr>
<tr><td>How pairs are chosen</td><td>From your order history</td><td>Not included</td></tr>
<tr><td>Add-ons</td><td>Warranty, gift wrap and shipping protection, on every plan</td><td>Free gifts and upsells start at $15</td></tr>
<tr><td>Languages</td><td>13, plus Shopify Markets</td><td>Not included</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Not included</td></tr>
<tr><td>Which offer to keep</td><td>Click-through, conversion and revenue per offer</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="publish-the-right-type-quickly">Publish the right type quickly</h2>
<p>Choose Addly if you want the widget today and you also want the variant break and the bought-together set in the same place next month. The wrong type, published quickly, is still the wrong type.</p>
<p>Start from the <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">bundles guide</a> if you are choosing the offer while the app installs. One sentence should describe it. If you need a paragraph, it is not ready for the product page.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Can I launch a bundle quickly with Addly?</summary><div class="faq__a"><p>Yes. Live preview and suggestions from purchase history mean the first offer does not have to be built from a blank widget.</p></div></details>
<details><summary>Does Addly only do bundles?</summary><div class="faq__a"><p>It also does quantity breaks, volume discounts, frequently bought together, add-ons and build-a-box.</p></div></details>
<details><summary>What does the Built for Shopify badge mean here?</summary><div class="faq__a"><p>Addly is Built for Shopify and rated 4.9 from 111 reviews. The badge is Shopify&#39;s bar for performance, design and the merchant experience.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs Shopify Bundles: Fixed Bundles and Everything Around Them</title>
      <link>https://ninety9.dev/blog/addly-vs-shopify-bundles.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-shopify-bundles.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Shopify Bundles builds fixed bundles and multipacks. Addly adds quantity breaks, mix and match, offers from real orders, and the same features on every plan.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Shopify Bundles is the first-party app for fixed bundles and multipacks.</li><li>Addly keeps fixed sets and adds quantity breaks, mix and match, add-ons and suggestions from orders.</li><li>The discount is a real Shopify discount, with a separate volume price when the pack is not a fixed set.</li></ul></section>
<p><a href="https://apps.shopify.com/shopify-bundles?src=ninety9dev" target="_blank" rel="noopener">Shopify Bundles</a> is the first-party answer for a simple pack. You group products into a fixed bundle or a multipack, and Shopify sells that group. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> still makes sets. It is for stores whose product page has to do more than one pack at a fixed price.</p>
<p>A sealed gift set that never changes fits a fixed bundle. A three-pack of the same soap can too. The page outgrows that the first time a shopper should choose the contents, or buy three of the same SKU for less, or see the product people actually purchase alongside it.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="fixed-packs-are-a-decision-they-are-one-decision">Fixed packs are a decision. They are one decision.</h2>
<p>Shopify Bundles is deliberately narrow. Fixed bundles and multipacks. There is no quantity ladder, no mix-and-match builder, no add-on under the buy button. The app is free, and it lives in the admin merchants already trust. Use that narrowness on purpose, for the kit that should stay sealed.</p>
<p><a href="/apps/addly.html">Addly</a> can still sell a fixed set. It can also sell the shapes that show up the week the sealed kit is not enough.</p>
<ul>
<li>Frequently bought together, from purchase history or from a set you choose.</li>
<li>Quantity breaks and volume discounts, with a separate ladder per variant.</li>
<li>Mix and match and build-a-box, so the shopper picks the contents.</li>
<li>Add-ons for the optional extra.</li>
<li>Live preview, 13 languages, Shopify Markets, and offer analytics.</li>
<li>The same list on Forever Free, under 15 orders a month, and on the $9.99, $24.99 and $49.99 plans.</li>
</ul>
<p>The discount is Shopify&#39;s own. Checkout does not have to translate a private price into a real one. If the set should appear again after add to cart, <a href="/apps/addy.html?src=ninety9dev">Addy</a> can present it in the drawer.</p>
<p>A fixed multipack can remain the hero. Addly does not force a ladder onto a product that should stay a sealed set. The ladder is there for the SKU that should have one. Addly is rated 4.9 from 111 reviews and is Built for Shopify.</p>
<h2 id="addly-and-shopify-bundles">Addly and Shopify Bundles</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Shopify Bundles</th></tr></thead><tbody>
<tr><td>Fixed sets</td><td>Yes, as a bundle</td><td>Fixed bundles and multipacks</td></tr>
<tr><td>Shopper-chosen contents</td><td>Mix and match and build-a-box</td><td>Not included</td></tr>
<tr><td>More units of one product</td><td>Quantity breaks, including a single variant</td><td>A multipack you defined</td></tr>
<tr><td>What to pair it with</td><td>Real orders, or your own pick</td><td>The products you grouped</td></tr>
<tr><td>Add-ons</td><td>Warranty, gift wrap, shipping protection</td><td>Not included</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Created in the admin</td></tr>
<tr><td>In the cart</td><td>Can show again in the <a href="/apps/addy.html">Addy</a> drawer</td><td>The bundle product</td></tr>
</tbody></table></div>
<h2 id="when-to-move">When to move</h2>
<p>Stay with a fixed pack when every offer you will ever run is a sealed set. Move to Addly when the catalogue needs a pack and a quantity break and a box, and you want one discount for all three.</p>
<p>The definitions are in <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">Shopify product bundles</a>. If you are unsure whether a ladder or a sealed pack fits a SKU, <a href="/blog/quantity-breaks-vs-volume-discounts.html?src=ninety9dev">quantity breaks vs volume discounts</a> splits them.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Should I replace Shopify Bundles with Addly?</summary><div class="faq__a"><p>Move when you need more than a fixed bundle or multipack. Addly still creates sets, and it also runs quantity breaks, mix and match, add-ons and offers from purchase history.</p></div></details>
<details><summary>Does Addly use Shopify discounts?</summary><div class="faq__a"><p>Yes. Offers go through Shopify&#39;s own discount system, so the bundle price is a real Shopify discount at checkout.</p></div></details>
<details><summary>Is Addly free?</summary><div class="faq__a"><p>Addly is free under 15 orders a month, with every feature included. Paid plans are $9.99, $24.99 and $49.99 as order volume grows.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addly vs Wide Bundles for Shopify Quantity Offers</title>
      <link>https://ninety9.dev/blog/addly-vs-wide-bundles.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addly-vs-wide-bundles.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Wide Bundles builds quantity breaks and bundles. Addly covers those offers with prices per variant, suggestions from real orders, mix and match, and every feature on every plan.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Wide Bundles is a bundle and quantity-break app with a broad widget set.</li><li>Addly runs those offer types on every plan, with variant-level volume prices and suggestions from order history.</li><li>Shopify Markets and 13 languages keep the same offer readable in more than one country.</li></ul></section>
<p><a href="https://apps.shopify.com/widebundle?src=ninety9dev" target="_blank" rel="noopener">Wide Bundles</a> aims at stores that want every bundle shape in one install: breaks, sets, deals on the product page. The name is the strategy. <a href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Addly</a> is a wide offer app too, with a rule that matters more than the widget count. The features do not shrink on the cheaper plan.</p>
<p>A wide app can still be a pile of widgets. The useful version is a short list of offers that share one discount and one preview. Shoppers can read two offers. They will not read six.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addly/icon.png" alt="Addly: AI Bundles app &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addly: AI Bundles app &amp; Upsell</p>
<p class="appcta__text">Product bundles, quantity breaks, volume discounts and AI-recommended offers for Shopify.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addly?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="coverage-is-the-goal-a-shared-discount-is-what-makes-coverage-work">Coverage is the goal. A shared discount is what makes coverage work.</h2>
<p>Wide Bundles competes on range. Merchants install it so they do not have to pick between a quantity break and a classic bundle. That is the right goal. A store that sells kits and also sells &quot;stock up and save&quot; will not stay on a single-purpose app.</p>
<p><a href="/apps/addly.html">Addly</a>&#39;s range is the same commercial list, kept on one Shopify discount:</p>
<p>Frequently bought together and standard product bundles. Quantity breaks and volume discounts per variant. Mix and match, build-a-box, and add-ons. Suggestions from purchase history when you would rather start from orders than from a spreadsheet. One live preview for the widget you are about to publish. Thirteen languages and Shopify Markets, so the offer is not a screenshot of the home country. Analytics, so a wide menu does not become a permanent experiment.</p>
<p>Full feature set on Forever Free under 15 orders, then Starting out at $9.99, Getting traction at $24.99, and Scaling at $49.99. The same offer can reappear in <a href="/apps/addy.html?src=ninety9dev">Addy</a>. Addly is rated 4.9 from 111 reviews and is Built for Shopify.</p>
<p>International is where wide widgets get sloppy. A tier written in one currency, shown to a shopper in another, feels like a mistake even when the maths is right. Markets and translations are how the offer travels with the customer.</p>
<h2 id="addly-and-wide-bundles">Addly and Wide Bundles</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addly</th><th>Wide Bundles</th></tr></thead><tbody>
<tr><td>Price</td><td>Free under 15 orders a month, with every offer included</td><td>Free on development stores, then $14.99, $19.99 and $24.99</td></tr>
<tr><td>Volume price</td><td>A different break per variant</td><td>Quantity breaks or bundles on the product</td></tr>
<tr><td>How pairs are chosen</td><td>From your order history</td><td>Not included</td></tr>
<tr><td>Shopper-built sets</td><td>Mix and match and build-a-box</td><td>Bundles</td></tr>
<tr><td>Add-ons</td><td>Warranty, gift wrap, shipping protection</td><td>Not included</td></tr>
<tr><td>Languages</td><td>13, plus Shopify Markets</td><td>Not included</td></tr>
<tr><td>Before it goes live</td><td>Live preview on your theme</td><td>Widget styling</td></tr>
<tr><td>Which offer to keep</td><td>Click-through, conversion and revenue per offer</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="turn-on-two-shapes-not-the-whole-menu">Turn on two shapes, not the whole menu</h2>
<p>Pick Addly when you want the wide set and you want a new store to have it before the first 15 orders. Use a quantity break on replenishment products and a bundle on products with a real companion. Leave the rest off until those two are earning.</p>
<p>How the shapes differ is the subject of <a href="/blog/shopify-product-bundles-guide.html?src=ninety9dev">Shopify product bundles</a>. A product page with every widget is a page with no offer.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Which offer types does Addly share with a wide bundle builder?</summary><div class="faq__a"><p>Quantity breaks, product bundles, frequently bought together, mix and match, build-a-box and add-ons.</p></div></details>
<details><summary>Can each variant have its own volume price?</summary><div class="faq__a"><p>Yes. Volume discounts in Addly can be set per variant.</p></div></details>
<details><summary>Does a higher plan remove features?</summary><div class="faq__a"><p>No. Features stay the same. The price changes with monthly orders: free, then $9.99, $24.99, then $49.99.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addy vs Amp Slide Cart: Which Shopify Drawer Sells More</title>
      <link>https://ninety9.dev/blog/addy-vs-amp-slide-cart.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addy-vs-amp-slide-cart.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Cart &amp; Checkout</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Amp Slide Cart and Addy both open a Shopify cart after add to cart. See how a drafted drawer, in-cart offers, gifts and a delivery date compare.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Amp Slide Cart is a slide cart for upsells, gifts and a shipping bar.</li><li>Addy drafts that cart from your products and brand, then lets you shape it.</li><li>The same drawer can carry a second product, a gift, a shipping goal and a delivery date.</li></ul></section>
<p>The cart is where a one-item order becomes a two-item order. <a href="https://apps.shopify.com/slide-cart?src=ninety9dev" target="_blank" rel="noopener">Amp Slide Cart</a> is built for that moment: a drawer, an extra product, a gift, a shipping bar. <a href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Addy</a> keeps that job and shortens the part merchants usually stall on. The first cart is drafted from the products you already sell and the way the brand already looks. You edit it. You do not start from a blank column the week a promotion goes live.</p>
<p>Shoppers do not experience your cart as a project. They experience a yes they just made, and a quiet question: is there a reason to add something else before checkout? A clear drawer answers that. A drawer that took a month to configure often never gets the answer live.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addy/icon.png" alt="Addy: AI Cart Drawer &amp; Bundles app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addy: AI Cart Drawer &amp; Bundles</p>
<p class="appcta__text">AI cart drawer with in-cart upsells, volume bundles, free shipping bars and per-Market targeting.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-second-item-has-to-be-obvious">The second item has to be obvious</h2>
<p>Most of the margin in a slide cart is the second item, or the third unit of the first one. Amp is aimed at that upsell. <a href="/apps/addy.html">Addy</a> puts the same decision in the drawer, with more than one way to make it.</p>
<p>A shopper who added a moisturiser can see the serum people buy with it. A shopper who added one jar can see the price of three. A shopper who is twelve dollars short of free shipping can see the bar move. Those are three different reasons to stay, and they can sit in one cart instead of three apps arguing over the corner of the screen.</p>
<p>Addy includes frequently bought together, volume deals, buy-one-get-one, free gifts and a shipping goal. The gift and the shipping goal can both show progress, so the shopper always knows the next reward. You choose which blocks a product actually needs. A hero SKU with a natural pair wants the pair. A consumable wants the quantity break. Turning every block on for every product is how a drawer becomes a second homepage.</p>
<h2 id="a-delivery-date-before-they-leave">A delivery date before they leave</h2>
<p>A lot of carts tell the shopper the total and then send them to checkout to discover the delivery date. That is a late surprise. Addy can show an estimated delivery date in the drawer, while the shopper can still add, remove, or take the gift.</p>
<p>The date does a simple commercial job. It answers &quot;when does this arrive?&quot; at the moment the order is still flexible. Stores that sell gifts, perishables, or anything with a deadline feel this first. The shopper who needed it by Friday finds out in the cart, and either adds the faster option you offered or checks out knowing the date. They do not have to open a new tab to guess.</p>
<h2 id="one-brand-more-than-one-cart">One brand, more than one cart</h2>
<p>A store on Shopify Markets is rarely one audience. The French threshold for free shipping is not the US threshold. A wholesale tag should not see the retail gift. Addy can run a different cart for each market and each customer tag, and the rule can apply to a single block. The rest of the drawer stays shared, so you are not rebuilding the whole cart for one country.</p>
<p>You still get a library of more than 40 blocks, custom HTML and CSS when a block is not enough, live preview, translations and the shopper&#39;s currency. The drawer loads on the side, so the product page can appear before the cart is ready. That is the practical version of speed: the product is on screen, the cart is there when they tap the bag.</p>
<h2 id="addy-and-amp-slide-cart">Addy and Amp Slide Cart</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addy</th><th>Amp Slide Cart</th></tr></thead><tbody>
<tr><td>Price</td><td>Free to install, with the offers below included</td><td>Free plan is styling, a timer and Markets. AI upsells, shipping protection and the progress bar start at $29.99</td></tr>
<tr><td>First layout</td><td>Drafted from your catalogue and brand, then edited</td><td>You design the cart. Agency designs are on the $49.99 plan</td></tr>
<tr><td>In the drawer</td><td>Upsells, bought-together sets, volume deals, BOGO, gifts and a shipping goal</td><td>A progress bar from $29.99. Buy-one-get-one gifts on the $49.99 plan</td></tr>
<tr><td>Delivery date</td><td>Shown in the drawer, next to the total</td><td>Not included</td></tr>
<tr><td>Who sees which cart</td><td>A different cart, or one block, by Market and by customer tag</td><td>Markets and languages</td></tr>
<tr><td>When a preset is not enough</td><td>40+ blocks, plus your own HTML and CSS</td><td>Brand styling in the editor</td></tr>
<tr><td>Shipping protection</td><td>Included</td><td>On the $29.99 plan</td></tr>
</tbody></table></div>
<h2 id="launch-it-as-a-merchant-not-as-a-project">Launch it as a merchant, not as a project</h2>
<p>Publish one shipping goal, one gift, and one honest recommendation. Then watch which of the three shoppers actually use. Addy gives you the blocks. It does not require you to invent a cart philosophy before Thursday&#39;s campaign.</p>
<p>If you are still choosing between a drawer and the theme cart page, read <a href="/blog/cart-drawer-vs-cart-page.html?src=ninety9dev">cart drawer vs cart page</a> and the <a href="/blog/shopify-cart-drawer-complete-guide.html?src=ninety9dev">Shopify cart drawer guide</a>. When the offer itself should be a bundle, put <a href="/apps/addly.html?src=ninety9dev">Addly</a> behind the drawer and let Addy present it.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Addy a replacement for Amp Slide Cart?</summary><div class="faq__a"><p>Yes, when you want the cart itself to sell. Addy opens a slide cart with upsells, gifts, a shipping goal and a delivery date, and the first layout is drafted for you.</p></div></details>
<details><summary>Can wholesale and retail see different carts?</summary><div class="faq__a"><p>Yes. Addy can run a different cart for each market and each customer tag, and a rule can sit on a single block.</p></div></details>
<details><summary>Does Addy cost anything to install?</summary><div class="faq__a"><p>Addy is free to install from the Shopify App Store.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addy vs iCart: Shopify Cart Drawer Compared</title>
      <link>https://ninety9.dev/blog/addy-vs-icart.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addy-vs-icart.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Cart &amp; Checkout</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>iCart and Addy both turn the Shopify cart into a place to grow the order. Compare a drafted drawer, gifts, shipping goals, delivery dates and carts by market.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>iCart is a cart-drawer suite: upsells, gifts and shipping goals on one surface.</li><li>Addy drafts the drawer from the catalogue, then lets markets and customer tags change it.</li><li>A delivery date, a quantity offer and a gift can all live next to the line items.</li></ul></section>
<p><a href="https://apps.shopify.com/icart?src=ninety9dev" target="_blank" rel="noopener">iCart</a> became a familiar name because it put the cart programme in one app: the slide-out, the extra product, the gift, the shipping goal. <a href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Addy</a> is that programme with a shorter first afternoon. The drawer is drafted from your products and your brand. You keep the blocks that match how you sell, and you publish before the season moves on.</p>
<p>A well-known cart app and a cart that is live are different things. The drawer that makes money is the one a merchant can ship this week, then tighten once real adds are coming in.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addy/icon.png" alt="Addy: AI Cart Drawer &amp; Bundles app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addy: AI Cart Drawer &amp; Bundles</p>
<p class="appcta__text">AI cart drawer with in-cart upsells, volume bundles, free shipping bars and per-Market targeting.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-cart-is-the-last-calm-sales-floor">The cart is the last calm sales floor</h2>
<p>The shopper has already chosen something. The drawer is the last place they are still in your store, still able to add, still able to understand a threshold. iCart is built for that floor. <a href="/apps/addy.html">Addy</a> is too, and it assumes you would rather edit a competent cart than assemble one from an empty stack.</p>
<p>What belongs there depends on the catalogue. Apparel often wants a second size or a care product. Beauty wants the next step in the routine. Food wants a larger quantity at a better unit price. Addy can show frequently bought together, a cross-sell, volume pricing, buy-one-get-one and a free gift, with progress so the reward is visible. A free-shipping bar can sit in the same drawer. You are not explaining two widgets that do not know about each other.</p>
<p>More than 40 blocks cover the usual pieces, and custom HTML and CSS cover the piece that is yours alone. Preview it on the theme before it is public. The words can be translated, and prices follow the shopper&#39;s currency.</p>
<h2 id="tell-them-when-it-arrives">Tell them when it arrives</h2>
<p>Checkout is a bad place to reveal a delivery window. The shopper has already done the work, and a disappointing date is an abandoned payment. Addy can show an estimated delivery date beside the line items. If the date is the problem, they can still change the order. If the date is fine, they check out with one less doubt.</p>
<p>Stores that promise a gift deadline, a subscription start, or a weekend delivery feel the difference immediately. Everyone else still benefits, because &quot;when?&quot; is a universal question and the cart is the natural place to answer it.</p>
<h2 id="markets-are-not-one-threshold">Markets are not one threshold</h2>
<p>If you sell in more than one country, one free-shipping number will be wrong somewhere. If logged-in wholesale customers share a theme with retail, one gift will be wrong for somebody. Addy lets you run a cart per market and per customer tag. When only the gift should change, the rule can sit on that block and the rest of the drawer stays put.</p>
<p>The cart stays out of the way while the product page loads. Shoppers came for the product. The drawer earns its place when they open it.</p>
<h2 id="addy-and-icart">Addy and iCart</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addy</th><th>iCart</th></tr></thead><tbody>
<tr><td>Price</td><td>Free to install, with no order cap</td><td>First 100 orders free, then $9, $19 and $29 a month</td></tr>
<tr><td>First layout</td><td>Drafted from your catalogue and brand</td><td>A sticky cart you configure, with AI recommendations inside it</td></tr>
<tr><td>Delivery date</td><td>Shown in the drawer</td><td>Not included</td></tr>
<tr><td>Who sees which cart</td><td>A different cart, or one block, by Market and by customer tag</td><td>One cart for the store</td></tr>
<tr><td>Past the presets</td><td>40+ blocks, plus your own HTML and CSS</td><td>A customizable sticky cart</td></tr>
<tr><td>Volume pricing</td><td>Buy-more-save-more tiers, BOGO and gifts, with no order cap</td><td>Volume discounts and BOGO, until the store passes 100 orders</td></tr>
</tbody></table></div>
<h2 id="publish-the-competent-version">Publish the competent version</h2>
<p>Ship the draft, remove the blocks that do not match the catalogue, and set one threshold you can defend. A $50 shipping goal that your margin can afford beats a $50 goal you copied from a thread. Addy will show the bar. You still own the number.</p>
<p>Read <a href="/blog/shopify-cart-drawer-complete-guide.html?src=ninety9dev">how a cart drawer earns the click</a> before you stack rewards. If the threshold logic should live in its own app, <a href="/apps/goalify.html?src=ninety9dev">Goalify</a> can run the goals while Addy remains the cart.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Addy the same kind of app as iCart?</summary><div class="faq__a"><p>Both replace the cart page with a drawer that can upsell. Addy adds a drafted layout, a delivery date in the cart, and cart rules by market and customer tag.</p></div></details>
<details><summary>Can one drawer show shipping progress and a gift?</summary><div class="faq__a"><p>Yes. Shipping progress, free gifts, buy-one-get-one and volume deals are blocks in the same drawer.</p></div></details>
<details><summary>What does it cost to start?</summary><div class="faq__a"><p>Addy is free to install. You can publish a drawer before you pick a paid plan.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addy vs Kaching Cart Drawer for Shopify Upsells</title>
      <link>https://ninety9.dev/blog/addy-vs-kaching-cart-drawer.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addy-vs-kaching-cart-drawer.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Cart &amp; Checkout</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Kaching Cart Drawer and Addy both sell from a Shopify slide cart. Compare a drafted layout, gifts, quantity offers, delivery dates and carts by market.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Kaching Cart Drawer is the cart in the Kaching upsell family, built to show another offer after add to cart.</li><li>Addy is the whole cart: a drafted layout, gifts, quantity deals, a shipping goal and a delivery date.</li><li>Markets and customer tags can change the cart, or a single block inside it.</li></ul></section>
<p><a href="https://apps.shopify.com/cart-upsell?src=ninety9dev" target="_blank" rel="noopener">Kaching Cart Drawer</a> meets the shopper after add to cart and tries to put one more offer in front of them. That is the right moment. The wallet is already open. <a href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Addy</a> treats that moment as the cart itself: the products, the gift, the shipping goal, the delivery date, and which customer is allowed to see which piece.</p>
<p>A reward that lives in one app and a shipping bar that lives in another is how drawers get slow and inconsistent. The shopper sees two stories. You reconcile two settings screens. One drawer with a clear next step is easier to buy from, and easier to run on a Monday.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addy/icon.png" alt="Addy: AI Cart Drawer &amp; Bundles app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addy: AI Cart Drawer &amp; Bundles</p>
<p class="appcta__text">AI cart drawer with in-cart upsells, volume bundles, free shipping bars and per-Market targeting.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-offer-and-the-cart-should-be-the-same-place">The offer and the cart should be the same place</h2>
<p>Kaching&#39;s drawer is an upsell surface in a family of upsell apps. Merchants who already think in offers install it so the cart can keep up. <a href="/apps/addy.html">Addy</a> starts one step earlier. It reads the catalogue and the brand and drafts a drawer you can actually publish, then leaves every block editable.</p>
<p>Inside that drawer you can show frequently bought together, a cross-sell, a volume price, a buy-one-get-one, a free gift and a free-shipping bar. Progress sits next to the reward, so &quot;you are $18 away&quot; is attached to something they can add. A bar with no product next to it is a number. A bar with a $22 pouch under it is a decision.</p>
<p>There are more than 40 blocks, plus custom HTML and CSS when the brand needs a piece the presets do not cover. Live preview shows the drawer on the store before customers do. Translations and the shopper&#39;s currency keep a market from seeing a cart that was clearly written for somewhere else.</p>
<h2 id="the-date-is-part-of-the-sale">The date is part of the sale</h2>
<p>Delivery is one of the last reasons a shopper hesitates, and it usually shows up too late, on the shipping step. Addy can put an estimated delivery date in the cart. The shopper sees it while they can still add the gift or drop a line.</p>
<p>That matters for gifts with a deadline, for replenishment people are timing, and for any store where &quot;how long?&quot; is the question support answers every day. Answer it in the drawer and a share of those questions never get asked.</p>
<h2 id="the-right-cart-for-the-right-buyer">The right cart for the right buyer</h2>
<p>A retail customer and a wholesale tag are not the same cart. A domestic order and an export order are not the same free-shipping number. Addy can keep a cart per market and per customer tag, and the difference can be a single block. You do not have to clone the entire drawer to hide one gift.</p>
<p>The script stays off to the side of the product page, so the product can paint and the cart can catch up. Shoppers judge the product first. The drawer is there when they open the bag.</p>
<h2 id="addy-and-kaching-cart-drawer">Addy and Kaching Cart Drawer</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addy</th><th>Kaching Cart Drawer</th></tr></thead><tbody>
<tr><td>Price</td><td>Free to install</td><td>Free on development stores, then $9.99, $14.99 and $24.99 by order count</td></tr>
<tr><td>First layout</td><td>Drafted from your catalogue and brand</td><td>You build the slide cart</td></tr>
<tr><td>Offers in the drawer</td><td>Upsells, bought-together sets, volume deals, BOGO, gifts and a shipping goal</td><td>Upsell carousel, a shipping bar and a gift bar</td></tr>
<tr><td>Delivery date</td><td>Shown in the drawer</td><td>Not included</td></tr>
<tr><td>Who sees which cart</td><td>A different cart, or one block, by Market and by customer tag</td><td>One slide cart</td></tr>
<tr><td>Blocks</td><td>40+, including order notes, a discount field, gift wrap and your own HTML</td><td>Trust badges, a timer, payment icons and a shipping-protection toggle</td></tr>
</tbody></table></div>
<h2 id="what-to-turn-on-first">What to turn on first</h2>
<p>Start with the offer you can explain in one sentence. &quot;Add the pouch, shipping is free.&quot; &quot;Three jars, the unit price drops.&quot; &quot;Spend $75, the mini is included.&quot; Addy can hold all three. A shopper can only read one of them clearly. Pick that one, publish it, and add the second when the first is earning its place.</p>
<p>The merchandising notes are in the <a href="/blog/shopify-cart-drawer-complete-guide.html?src=ninety9dev">cart drawer guide</a> and in <a href="/blog/free-gift-with-purchase-strategy.html?src=ninety9dev">free gifts with purchase</a>.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>How is Addy different from Kaching Cart Drawer?</summary><div class="faq__a"><p>Both are slide carts that can upsell. Addy drafts the first layout from your catalogue, can show a delivery date, and can change the cart by market and customer tag.</p></div></details>
<details><summary>Can the drawer give a free gift?</summary><div class="faq__a"><p>Yes. Free gifts, buy-one-get-one and volume deals sit in the drawer with progress toward the reward.</p></div></details>
<details><summary>Can a bundle app feed the drawer?</summary><div class="faq__a"><p>Yes. Addly can own the bundle, and Addy can show it again in the cart.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Addy vs Upcart: Building a Shopify Cart That Upsells</title>
      <link>https://ninety9.dev/blog/addy-vs-upcart.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/addy-vs-upcart.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Cart &amp; Checkout</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Upcart and Addy both build a Shopify cart drawer. Addy drafts the first cart from your catalogue, then you edit offers, gifts, delivery dates and market rules.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Upcart is a cart builder: you assemble a drawer and fill it with offers.</li><li>Addy assembles the first drawer from the catalogue, then gives you the same block control.</li><li>Market and customer-tag rules mean one store can run more than one cart.</li></ul></section>
<p><a href="https://apps.shopify.com/upcart-cart-builder?src=ninety9dev" target="_blank" rel="noopener">Upcart</a> is named for the work: build a cart. The drawer is a canvas. The offers are blocks you place on it. <a href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Addy</a> agrees with the canvas. It disagrees that the canvas should open empty. The app reads the shop and proposes a drawer that already contains the kind of blocks a cart needs, and you take it from there.</p>
<p>Builders reward people who enjoy layout. They punish people who needed the cart live before a sale. The useful version of a builder is one that lets you publish a competent cart on day one and refine the offers once you can see real behaviour.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/addy/icon.png" alt="Addy: AI Cart Drawer &amp; Bundles app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Addy: AI Cart Drawer &amp; Bundles</p>
<p class="appcta__text">AI cart drawer with in-cart upsells, volume bundles, free shipping bars and per-Market targeting.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/addy-cart-drawer?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="empty-canvases-miss-campaigns">Empty canvases miss campaigns</h2>
<p>A cart builder is the right tool when the theme cart cannot hold a recommendation, a gift and a shipping threshold. Upcart sits in that group. You construct the drawer, you choose the offers, you publish.</p>
<p>The risk is the blank page. Every hour spent on a corner radius is an hour the storefront still uses the theme cart, and the theme cart is where second items go to die. <a href="/apps/addy.html">Addy</a> spends that first hour on a draft. The draft comes from your products and the look of the brand. You can ignore it and rebuild. Most stores will edit it, which is faster than inventing the stack.</p>
<p>The blocks cover the commercial jobs: frequently bought together, cross-sells, volume prices, buy-one-get-one, free gifts with progress, and a free-shipping bar. There are more than 40 of them. Custom HTML and CSS are there when a preset cannot carry a brand detail. Live preview is how you know the preselected offer is the one you meant.</p>
<h2 id="say-when-the-order-arrives">Say when the order arrives</h2>
<p>A builder that only restyles line items still sends shoppers to checkout to learn the delivery date. Addy can show that date in the drawer. The shopper is still in a place where changing the order is easy. A date they like becomes a reason to finish. A date they do not like becomes a reason to write to you, which is better than a silent exit on the payment step.</p>
<p>Put the date next to the total, not under a tooltip. If you sell anything with a deadline, treat the date as part of the offer.</p>
<h2 id="build-once-vary-it-by-buyer">Build once, vary it by buyer</h2>
<p>Cart builders get copied across a whole store, and then one market is wrong. Addy can keep the shared layout and vary the cart, or one block, by Shopify Market and by customer tag. France can have its own shipping goal. A VIP tag can see a gift the public cart does not. You are building a system of carts, and you are not maintaining five unrelated designs.</p>
<p>Prices follow the shopper&#39;s currency. The copy can be translated. The drawer does not hold up the product page while it loads.</p>
<h2 id="addy-and-upcart">Addy and Upcart</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Addy</th><th>Upcart</th></tr></thead><tbody>
<tr><td>Starting point</td><td>A drawer drafted from your catalogue and brand</td><td>A cart you assemble</td></tr>
<tr><td>Offers</td><td>Bought-together sets, cross-sells, volume deals, BOGO, gifts and a shipping goal</td><td>The offers you place on the canvas</td></tr>
<tr><td>Delivery date</td><td>Shown in the drawer</td><td>You would have to build that block</td></tr>
<tr><td>Who sees which cart</td><td>A different cart, or one block, by Market and by customer tag</td><td>The cart you designed</td></tr>
<tr><td>Past the presets</td><td>40+ blocks, plus your own HTML and CSS</td><td>The builder canvas</td></tr>
<tr><td>Price</td><td>Free to install</td><td>The Upcart builder</td></tr>
</tbody></table></div>
<h2 id="ship-the-draft">Ship the draft</h2>
<p>Use Addy when you want a cart builder that does not begin with a blank drawer. Keep the blocks that match the catalogue. A single hero product needs a different cart from a 200-SKU apparel shop, and the draft gives you a place to start either way.</p>
<p>The design rules live in <a href="/blog/cart-drawer-vs-cart-page.html?src=ninety9dev">cart drawer vs cart page</a>. When the offer is a bundle, put <a href="/apps/addly.html?src=ninety9dev">Addly</a> behind the drawer and let Addy present it.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>What does Addy give a merchant who wants a cart builder?</summary><div class="faq__a"><p>A slide cart, in-cart upsells, quantity deals, gifts, a shipping bar, a delivery date, and separate carts for markets and customer tags. The first layout is generated.</p></div></details>
<details><summary>Can I still design the drawer myself?</summary><div class="faq__a"><p>Yes. After the draft you move blocks, add your own HTML and CSS, and preview the cart on the store before it is public.</p></div></details>
<details><summary>Will a market see its own currency?</summary><div class="faq__a"><p>Yes. Addy uses the shopper&#39;s currency and can be translated, so a market reads the drawer in its own money and language.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Goalify vs Kai: Shipping Bars, Gifts and the Gap</title>
      <link>https://ninety9.dev/blog/goalify-vs-kai-progress-bar.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/goalify-vs-kai-progress-bar.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Shipping &amp; Fulfilment</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Kai pairs a progress bar with shipping and gifts. Goalify stacks shipping, discounts and gifts, suggests a product to close the gap, and sets thresholds per country.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Kai is a progress bar for shipping and gift goals on Shopify.</li><li>Goalify adds an order-discount goal in the same sequence, plus a product that closes the remaining amount.</li><li>Thresholds can differ by country, and the bar can be tested.</li></ul></section>
<p><a href="https://apps.shopify.com/progress-bar-shipping-gift?src=ninety9dev" target="_blank" rel="noopener">Kai</a> puts shipping and gifts on a progress bar. That pairing is the natural one: spend a bit more, shipping drops, then a gift unlocks. <a href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Goalify</a> keeps the pair and adds the middle reward stores actually run, a discount, plus a product aimed at whatever is still missing.</p>
<p>A gift with no path to it is a picture. The bar is the path. The recommended product is the step.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/goalify/icon.png" alt="Goalify: Free Shipping Bar PRO app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Goalify: Free Shipping Bar PRO</p>
<p class="appcta__text">Free shipping bars, free gifts, BOGO and AI upsells driven by stackable cart goals.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="shipping-and-a-gift-are-the-rewards-shoppers-already-believe">Shipping and a gift are the rewards shoppers already believe</h2>
<p>Kai&#39;s category is specific. The bar is free shipping and a gift, which are the two rewards shoppers already trust. Vague &quot;rewards&quot; bars train people to ignore them. Specific ones get read.</p>
<p>The missing piece on many of these bars is the discount the email already promised, and the product that would finish the goal. If the bar says $16 short and the recommendations are $80 jackets, the bar is decoration. <a href="/apps/goalify.html">Goalify</a> suggests from order history, biased toward closing the gap. A $19 add-on next to a $16 gap is a fair ask. An $80 jacket is a different shop.</p>
<p>Stacking is a sequence. Shipping at $50, 10% at $75, a gift at $100. The shopper sees the next one, then the one after it once they cross. Qualification can be value, quantity, or specific products. A gift can depend on what is already in the cart.</p>
<h2 id="countries-and-proof">Countries and proof</h2>
<p>One threshold for every country makes the domestic offer too high or the export offer too low. Goalify keeps a threshold per country. The bar can sit in the cart and as a block you embed on the theme. You can test copy and thresholds, and read the result.</p>
<p>Free under 10 monthly orders, then $3.99, $7.99, $11.99. Built for Shopify, rated 5.0 from 42 reviews.</p>
<h2 id="goalify-and-kai">Goalify and Kai</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Goalify</th><th>Kai</th></tr></thead><tbody>
<tr><td>Price</td><td>Free under 10 orders, then $3.99, $7.99 and $11.99</td><td>Starts at $5.99. No free plan. Pro is $7.99. Growth is $9.99</td></tr>
<tr><td>AI</td><td>AI upsells on the free plan</td><td>AI recommendations on the $7.99 plan</td></tr>
<tr><td>Tests</td><td>Compare thresholds and copy</td><td>Not included</td></tr>
<tr><td>Countries</td><td>A different amount per country, from $3.99</td><td>Multi-market and languages on the $5.99 plan</td></tr>
<tr><td>Cart drawer</td><td>Drawer, product page and cart page from $3.99</td><td>The cart drawer is on the $9.99 plan</td></tr>
<tr><td>Rewards</td><td>Unlimited goals in one sequence</td><td>Discount tiers, a gift and free shipping</td></tr>
</tbody></table></div>
<h2 id="the-gift-is-the-last-step">The gift is the last step</h2>
<p>Goalify is the better bar when the gift is the last step in a sequence you can explain. Write that sequence using <a href="/blog/free-gift-with-purchase-strategy.html?src=ninety9dev">free gift with purchase</a> before you set the numbers. A gift that costs more than the extra margin is a popular bar and a bad week.</p>
<p>If the cart is <a href="/apps/addy.html?src=ninety9dev">Addy</a>, keep the goal next to the line items so the path and the products are in one place.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Does Goalify offer a free gift the way Kai does?</summary><div class="faq__a"><p>Yes. A gift can be its own goal, stacked with free shipping and a discount. Rules can look at cart value, quantity or the products already in the cart.</p></div></details>
<details><summary>What does the suggestion do?</summary><div class="faq__a"><p>It recommends products from order history that help the shopper reach the next goal.</p></div></details>
<details><summary>Is there a free plan?</summary><div class="faq__a"><p>Goalify is free up to 10 orders a month, then $3.99, $7.99 or $11.99. It is Built for Shopify with a 5.0 rating from 42 reviews.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Goalify vs Progressify: Cart Goals That Can Stack</title>
      <link>https://ninety9.dev/blog/goalify-vs-progressify.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/goalify-vs-progressify.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Shipping &amp; Fulfilment</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Progressify draws a Shopify progress bar. Goalify stacks free shipping, discounts and gifts, with country thresholds, products that close the gap, and tests.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Progressify is a progress-bar app for Shopify cart incentives.</li><li>Goalify is built around stackable goals: shipping, discount and gift, with rules that match how you already sell.</li><li>Country thresholds and tests keep the bar honest as the store grows.</li></ul></section>
<p><a href="https://apps.shopify.com/progressify?src=ninety9dev" target="_blank" rel="noopener">Progressify</a> is a progress bar for Shopify incentives. The category is crowded because the widget is small and the lift is real. <a href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Goalify</a> assumes you will outgrow a single fill, and it is designed so the second and third goals do not need a second app.</p>
<p>Small widgets get installed and forgotten. The ones worth keeping are the ones you can change by country and prove with a test. A bar you cannot edit for an export market will be wrong for a share of your orders, quietly, all quarter.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/goalify/icon.png" alt="Goalify: Free Shipping Bar PRO app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Goalify: Free Shipping Bar PRO</p>
<p class="appcta__text">Free shipping bars, free gifts, BOGO and AI upsells driven by stackable cart goals.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="a-bar-is-a-programme-even-when-it-starts-as-one-line">A bar is a programme, even when it starts as one line</h2>
<p>Progressify represents the modern version of the bar: a dedicated app, a goal, a visual fill. Merchants pick it when the theme&#39;s announcement bar cannot do the maths. The cart value changes. The message should change with it.</p>
<p><a href="/apps/goalify.html">Goalify</a> can be that single shipping line on day one. The discount and the gift are available when the calendar asks for them. You do not migrate. You add a threshold.</p>
<p>The programme can require cart value, quantity, or specific products. Suggestions from order history aim at the shortfall, so the bar and the product agree. Thresholds differ by country. Placement is a cart bar or a theme block, including the product page. Tests and analytics sit on the goal, so a new number is a decision and not a hunch.</p>
<p>Pricing stays modest as you add goals: free to 10 orders, then $3.99, $7.99 and $11.99. Built for Shopify, with a 5.0 rating from 42 reviews.</p>
<p>Keep the message to the next goal only. A thin bar has room for one promise. The promise after that appears when they cross this one.</p>
<h2 id="goalify-and-progressify">Goalify and Progressify</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Goalify</th><th>Progressify</th></tr></thead><tbody>
<tr><td>Price</td><td>Free under 10 orders, then from $3.99</td><td>$5 a month. No free plan</td></tr>
<tr><td>Rewards</td><td>Free shipping, an order discount and a gift, stacked</td><td>A tiered bar and a gift with purchase</td></tr>
<tr><td>What they should add</td><td>The product from your orders that closes the gap</td><td>Product upsells</td></tr>
<tr><td>Tests</td><td>Compare thresholds and copy</td><td>Not included</td></tr>
<tr><td>Countries</td><td>A different threshold per country</td><td>Markets integration</td></tr>
<tr><td>Rules</td><td>Cart value, quantity, products or collections</td><td>The progress bar</td></tr>
</tbody></table></div>
<h2 id="the-next-promotion-should-be-a-setting">The next promotion should be a setting</h2>
<p>Choose Goalify if you want the progress-bar category and you want the next promotion to be a setting. Progressify&#39;s job, a clear incentive bar, is the job. Goalify holds that job when the incentive changes shape through the year.</p>
<p>The <a href="/blog/free-shipping-progress-bar-guide.html?src=ninety9dev">free shipping bar guide</a> is the setup checklist. If you use <a href="/apps/addy.html?src=ninety9dev">Addy</a>, put the goal in the drawer so the reward and the products share a surface.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Can Goalify be only a shipping bar?</summary><div class="faq__a"><p>Yes. You can run a single free-shipping goal. You can also add a discount and a gift without installing another bar.</p></div></details>
<details><summary>How do product-specific goals work?</summary><div class="faq__a"><p>A goal can require specific products, a quantity, or a cart value. Gift rules can follow what is already in the cart.</p></div></details>
<details><summary>Where can the bar appear?</summary><div class="faq__a"><p>In the cart, and as a block elsewhere on the theme. If the cart is Addy&#39;s drawer, the goal still belongs next to the line items.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Goalify vs Turbo Progress Bar on Shopify</title>
      <link>https://ninety9.dev/blog/goalify-vs-turbo-progress-bar.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/goalify-vs-turbo-progress-bar.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Shipping &amp; Fulfilment</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Turbo Progress Bar and Goalify both push carts toward a reward. Compare stacked shipping, discount and gift goals, country thresholds and products that close the gap.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Turbo Progress Bar is a cart bar for a visible reward.</li><li>Goalify stacks free shipping, a discount and a gift, and can change the threshold by country.</li><li>Suggestions aim at the gap, and the bar can sit outside the cart as well.</li></ul></section>
<p><a href="https://apps.shopify.com/turbo-progress-bar?src=ninety9dev" target="_blank" rel="noopener">Turbo Progress Bar</a> is a fast cart bar: show the goal, fill it, get the shopper to add something. <a href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Goalify</a> is built for stores that run more than one goal at a time, and for stores where the domestic minimum and the export minimum are not the same number.</p>
<p>A visible bar is table stakes. The content of the goal is the strategy. Free shipping is the reward most stores reach for first, because shoppers already understand it. The gift and the discount you already emailed are the rewards the bar should be able to say next.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/goalify/icon.png" alt="Goalify: Free Shipping Bar PRO app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Goalify: Free Shipping Bar PRO</p>
<p class="appcta__text">Free shipping bars, free gifts, BOGO and AI upsells driven by stackable cart goals.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="one-bar-a-sequence-of-rewards">One bar, a sequence of rewards</h2>
<p>Turbo-style bars optimise for a lightweight progress indicator. The cart should feel closer to a reward after every add. That feeling is correct. Shipping-only bars leave money on the table when the brand also has a gift at a higher threshold, or a discount that should appear before the gift.</p>
<p><a href="/apps/goalify.html">Goalify</a> stacks free shipping, an order discount and a free gift in one programme. Qualify by cart value, by quantity, or by specific products. Gift rules can follow what was bought, including a buy-one-get-one style reward. When the shopper is short, suggestions from order history aim at the remaining amount. The product is chosen to finish the goal.</p>
<p>The bar can sit in the cart and as a block on the product page or the header. You can test a threshold. Analytics show whether the new number earned the change.</p>
<p>A $50 domestic goal and a $120 export goal can both be true. Goalify keeps a threshold per country, so an international cart is not judged by the home minimum. The message stays short. Shoppers do not read a paragraph inside a thin bar. They read the next reward.</p>
<p>Free under 10 orders a month, then $3.99, $7.99 and $11.99. Built for Shopify, 5.0 from 42 reviews.</p>
<h2 id="goalify-and-turbo">Goalify and Turbo</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Goalify</th><th>Turbo</th></tr></thead><tbody>
<tr><td>Rewards in one bar</td><td>Free shipping, then an order discount, then a gift</td><td>Free shipping, gifts and discounts</td></tr>
<tr><td>What they should add</td><td>The product from your orders that closes the remaining amount</td><td>Not included</td></tr>
<tr><td>Countries</td><td>A different threshold per country</td><td>Not included</td></tr>
<tr><td>Tests</td><td>Compare thresholds and copy, with analytics</td><td>Not included</td></tr>
<tr><td>Rules</td><td>Cart value, quantity, or specific products and collections</td><td>A live bar on the cart, the drawer and the product page</td></tr>
<tr><td>Gift behaviour</td><td>Auto-add, with control over which products qualify</td><td>Gifts auto-add</td></tr>
</tbody></table></div>
<h2 id="set-the-sequence-before-you-set-the-colour">Set the sequence before you set the colour</h2>
<p>Pick Goalify when the promotion calendar has more than one reward, or more than one country. Write the order down: shipping, then the discount, then the gift. Test one threshold change at a time. The colour of the bar is the last decision, and the least important one.</p>
<p>Set the sequence with the <a href="/blog/free-shipping-progress-bar-guide.html?src=ninety9dev">progress bar guide</a>. If the cart is a drawer, the goal still belongs next to the line items in <a href="/apps/addy.html?src=ninety9dev">Addy</a>.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>How does Goalify compare with Turbo Progress Bar?</summary><div class="faq__a"><p>Both draw a reward bar. Goalify lets you stack shipping, discount and gift goals, set rules by value, quantity or product, and suggest items from order history to close the gap.</p></div></details>
<details><summary>Can I put the bar on a product page?</summary><div class="faq__a"><p>Yes. Goalify ships as a cart bar and as a block you can place elsewhere on the theme.</p></div></details>
<details><summary>What does Goalify cost?</summary><div class="faq__a"><p>Free up to 10 orders a month. Paid plans are $3.99, $7.99 and $11.99. The app is rated 5.0 from 42 reviews.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Goalify vs Yaco: Free Shipping Bars and Cart Goals</title>
      <link>https://ninety9.dev/blog/goalify-vs-yaco-progress-bar.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/goalify-vs-yaco-progress-bar.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Shipping &amp; Fulfilment</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Yaco is a progress bar that nudges the cart toward a reward. Goalify stacks free shipping, a discount and a gift, suggests what to add, and sets a threshold per country.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Yaco is a progress bar that moves as the cart grows.</li><li>Goalify can stack three rewards: free shipping, a discount and a free gift.</li><li>Suggestions aim at the gap, and each country can have its own threshold.</li></ul></section>
<p>A progress bar has one job: show the distance between this cart and a reward. <a href="https://apps.shopify.com/upsellprogressbar?src=ninety9dev" target="_blank" rel="noopener">Yaco</a> is that bar, pointed at an upsell. <a href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Goalify</a> keeps the bar and lets the reward be free shipping, money off, a gift, or all three in a sequence.</p>
<p>One reward is easy to explain. Three rewards, in order, are how a $48 cart becomes a $72 cart. The shopper always sees the next finish line, and only the next one.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/goalify/icon.png" alt="Goalify: Free Shipping Bar PRO app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Goalify: Free Shipping Bar PRO</p>
<p class="appcta__text">Free shipping bars, free gifts, BOGO and AI upsells driven by stackable cart goals.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/goalify?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="a-number-is-a-nudge-a-product-closes-the-gap">A number is a nudge. A product closes the gap.</h2>
<p>Yaco sits in the upsell-progress category. The bar fills as the cart grows, and the empty part of the bar is the pitch. Merchants use it because &quot;you are $18 away&quot; beats a generic row of related products.</p>
<p>The bar still needs something to add. &quot;Add $18&quot; with a grid of $80 jackets is a taunt. <a href="/apps/goalify.html">Goalify</a> can suggest a product from your own order history that helps close the gap. The pouch that costs $22, next to a bar that needs $18, is a decision a shopper can make. The suggestion is there to finish the goal, which is a different job from filling a recommendation slot.</p>
<p>Rules can look at cart value, item quantity, or specific products. A gift can depend on what is already in the cart, including a buy-one-get-one style reward. The bar can live on the cart and as a block you place elsewhere on the theme.</p>
<h2 id="stack-the-promotion-you-already-promised">Stack the promotion you already promised</h2>
<p>Shipping, a discount and a gift often exist in the same month because marketing already promised all three. If the bar can only say one thing, the other two become banners. Banners do not fill. Goalify stacks them: free shipping, then an order discount, then a gift. Each threshold crossed reveals the next.</p>
<p>Write the sequence so it can be read in a 28-pixel bar. Shipping at $50, 10% at $75, a gift at $100 is readable. Three unrelated badges are not. You can test a threshold and read the analytics, so the second number has to earn its place.</p>
<p>Country thresholds keep the sequence honest. A $50 domestic goal and a $120 export goal should not share a label. Goalify stores a threshold per country.</p>
<p>The app is free under 10 orders a month, then $3.99, $7.99 and $11.99. It is Built for Shopify, rated 5.0 from 42 reviews.</p>
<h2 id="goalify-and-yaco">Goalify and Yaco</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Goalify</th><th>Yaco</th></tr></thead><tbody>
<tr><td>Free plan</td><td>Shipping, a discount and a gift can run together, under 10 orders a month</td><td>14 days of every tier, then 1 active tier</td></tr>
<tr><td>Price after that</td><td>From $3.99. Unlimited orders at $11.99</td><td>Premium is $9.90. Testing is $9.95 now and $14.90 after the beta</td></tr>
<tr><td>What they should add</td><td>The product from your orders that closes the gap</td><td>Product recommendations</td></tr>
<tr><td>Countries</td><td>A different free-shipping amount per country</td><td>The bar can be targeted by market</td></tr>
<tr><td>Tests</td><td>Compare a threshold and the copy</td><td>A/B testing is on the Optimize plan</td></tr>
<tr><td>Rules</td><td>Cart value, item count, or specific products and collections</td><td>Targeting, markets and translations</td></tr>
</tbody></table></div>
<h2 id="run-a-sequence-not-a-pile-of-badges">Run a sequence, not a pile of badges</h2>
<p>Use Goalify when the bar should survive more than one promotion. A store that only ever offers free shipping over one amount can live on a simple bar. A store that rotates a gift and a shipping threshold wants them in order, with the country rule stored on the goal.</p>
<p>The mechanics are in the <a href="/blog/free-shipping-progress-bar-guide.html?src=ninety9dev">free shipping progress bar guide</a> and <a href="/blog/free-gift-with-purchase-strategy.html?src=ninety9dev">free gift with purchase</a>. Put the bar in the <a href="/apps/addy.html?src=ninety9dev">Addy</a> drawer if the cart itself is a slide-out.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Goalify a Yaco alternative?</summary><div class="faq__a"><p>Yes. Goalify is a free-shipping and cart-goal bar. It can run shipping, a discount and a gift at the same time, with rules on cart value, quantity or specific products.</p></div></details>
<details><summary>Can the threshold change by country?</summary><div class="faq__a"><p>Yes. Goalify supports a threshold per country, so a domestic free-shipping minimum can differ from an international one.</p></div></details>
<details><summary>Can I test the bar?</summary><div class="faq__a"><p>Yes. You can test the bar and read the results. Goalify is Built for Shopify, rated 5.0 from 42 reviews.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Monet vs BA Popup Upsell: Offers at the Moment of Intent</title>
      <link>https://ninety9.dev/blog/monet-vs-ba-popup-upsell.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/monet-vs-ba-popup-upsell.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>BA Popup Upsell and Monet both show Shopify upsell popups. Monet can open on add to cart, at the start of checkout, and on exit, with product suggestions, free.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>BA Popup Upsell is a buying-moment popup for bundles and cross-sells.</li><li>Monet uses three moments: add to cart, the start of checkout, and exit.</li><li>The offer can be a bundle, a cross-sell or an add-on, with product suggestions, and the app is free.</li></ul></section>
<p><a href="https://apps.shopify.com/not-another-popup-upsell?src=ninety9dev" target="_blank" rel="noopener">BA Popup Upsell</a> appears when the shopper is already in a buying motion, usually around add to cart. That is the right family of popup. It continues a click they just made. <a href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Monet</a> keeps that standard and gives the offer three honest moments: the add, the start of checkout, and the exit.</p>
<p>A popup on a timer is an interruption. A popup after an add is a continuation. A popup as checkout starts is a last relevant ask. A popup as they leave is a smaller reason to stay. Those are different offers, and they should not share one creative.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/monet/icon.png" alt="Monet • AI Popup Bundle Addons app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Monet • AI Popup Bundle Addons</p>
<p class="appcta__text">AI upsell popups triggered on add to cart, checkout initiation and exit intent.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="one-trigger-catches-one-kind-of-shopper">One trigger catches one kind of shopper</h2>
<p>BA&#39;s category is the post-click upsell. The shopper did something commercial. The popup offers a bundle or a related product before the cart is the only surface. Add to cart catches the enthusiast. It misses the shopper who reached checkout and stalled, and the shopper whose pointer is already leaving.</p>
<p><a href="/apps/monet.html">Monet</a> lets you assign the moment per offer.</p>
<p>A bundle belongs on the add. The shopper just committed to a hero product. The set is a second yes of the same size. A smaller add-on belongs when checkout starts. They have finished browsing. One product, one price, one button. Exit is for the offer you would rather make than lose the session, and it should be shorter and cheaper than the bundle you showed on the add.</p>
<p>Templates cover a bundle, a cross-sell and an add-on. Product suggestions can come from the app, so you are not maintaining the grid by hand as the season changes. Discounts, buy-one-get-one, volume offers and a countdown are there when the offer should expire. Geography and customer tags keep a wholesale tag away from a retail deal, and keep a domestic-only gift out of an export session.</p>
<p>You can read views, the add-to-cart rate and conversion. Monet works with cart drawers, so the popup and the drawer do not have to fight over the same click. The app is free to install.</p>
<h2 id="monet-and-ba-popup-upsell">Monet and BA Popup Upsell</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Monet</th><th>BA Popup</th></tr></thead><tbody>
<tr><td>Price</td><td>Free, with no cap on added revenue</td><td>Free on development stores. Then $7.99, $14.99 and $29.99, capping added revenue at $100, $500 or $2,500</td></tr>
<tr><td>Moments</td><td>Add to cart, checkout starting, and exit</td><td>Add to cart, exit, a timer, or hesitation</td></tr>
<tr><td>What the popup sells</td><td>A bundle, a cross-sell, or an add-on</td><td>Single product, multi-product, bundle and quantity breaks</td></tr>
<tr><td>Which product</td><td>AI recommendations, included free</td><td>AI recommendations on the paid plans</td></tr>
<tr><td>Offer maths</td><td>Percent, flat amount, BOGO, volume and a countdown</td><td>Discounts and bundles</td></tr>
<tr><td>Who sees it</td><td>Country and customer tag</td><td>Filter by product tag</td></tr>
<tr><td>Beside a drawer</td><td>Built to run with a cart drawer</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="one-offer-per-moment">One offer per moment</h2>
<p>Run Monet when the <a href="/apps/monet.html">upsell popup</a> should meet shoppers in more than one honest moment. Design the add-to-cart version with <a href="/blog/add-to-cart-popup-upsell.html?src=ninety9dev">add to cart popup upsells</a>, and the leaving version with <a href="/blog/exit-intent-popups-shopify.html?src=ninety9dev">exit-intent popups</a>. A popup with four products is a second storefront. Put one product in the frame.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>When does a Monet popup show?</summary><div class="faq__a"><p>When a shopper adds to cart, when checkout starts, or when they move to leave. You choose the moment per offer.</p></div></details>
<details><summary>What can the popup sell?</summary><div class="faq__a"><p>A bundle, a cross-sell or an add-on. The offer can include a discount, buy-one-get-one, a volume deal or a countdown.</p></div></details>
<details><summary>Does Monet have a monthly fee?</summary><div class="faq__a"><p>Monet is free to install.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Monet vs EA Upsell Popup for Shopify Cross-Sells</title>
      <link>https://ninety9.dev/blog/monet-vs-ea-upsell-popup.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/monet-vs-ea-upsell-popup.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>EA Upsell Popup and Monet both cross-sell in a Shopify popup. Compare add to cart, checkout and exit, product suggestions, and a free install.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>EA Upsell Popup is a cross-sell popup for Shopify.</li><li>Monet can show that cross-sell on add to cart, as checkout starts, or as the shopper exits.</li><li>Product suggestions, bundle and add-on layouts, and audience rules are included free.</li></ul></section>
<p><a href="https://apps.shopify.com/ea-upsell-popups-cross-sell?src=ninety9dev" target="_blank" rel="noopener">EA Upsell Popup</a> is a cross-sell in a popup. The shopper is looking at one product. The popup introduces the product that should ride along. <a href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Monet</a> uses that cross-sell and decides when it is allowed to appear: after the add, as checkout begins, or when the session is about to end.</p>
<p>Cross-sells fail when they are early. Offering a case before anyone has committed to the phone is a guess. Offering it after the phone is in the cart is a service.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/monet/icon.png" alt="Monet • AI Popup Bundle Addons app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Monet • AI Popup Bundle Addons</p>
<p class="appcta__text">AI upsell popups triggered on add to cart, checkout initiation and exit intent.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="a-companion-product-needs-a-commitment-first">A companion product needs a commitment first</h2>
<p>EA&#39;s job is the related product, accepted in one click. It is the right pattern for accessories, refills and the second step in a routine. The popup has to be specific. A grid of bestsellers is a collection page with a close button. Name the companion and the reason. &quot;Add the refill, it ships with the bottle&quot; is a cross-sell.</p>
<p>Timing decides whether that specific product feels helpful. The same case, offered on exit to someone who never added the phone, is noise. <a href="/apps/monet.html">Monet</a> separates the moments.</p>
<p>After add to cart, the companion belongs with the thing they just chose. As checkout starts, a single add-on with a plain price is easier to accept than it was on the product page, where they were still judging the hero. On exit, use a smaller offer than the one you showed on the add. The shopper is already halfway out.</p>
<p>Layouts cover cross-sell, bundle and add-on. Suggestions can fill the frame, or you can pin the SKU yourself. A discount, buy-one-get-one, a volume offer or a countdown can sit on it. Country and customer-tag rules decide who is eligible. Views, add-to-cart rate and conversion tell you if the companion is real. Monet works beside a cart drawer. It is free to install.</p>
<h2 id="monet-and-ea">Monet and EA</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Monet</th><th>EA Bundles &amp; Upsell</th></tr></thead><tbody>
<tr><td>Price</td><td>Free</td><td>Free on development stores, then $9.99 a month</td></tr>
<tr><td>Moments</td><td>Add to cart, the start of checkout, and exit, each with its own offer</td><td>Upsell popups and checkout offers</td></tr>
<tr><td>Exit</td><td>A smaller offer when they move to leave</td><td>Not included</td></tr>
<tr><td>Which product</td><td>AI picks from purchase patterns</td><td>The products in the offer</td></tr>
<tr><td>Add-ons</td><td>A template for a warranty, gift wrap or protection</td><td>Bundles, BOGO and quantity breaks</td></tr>
<tr><td>Who sees it</td><td>Country and customer tag</td><td>Not included</td></tr>
<tr><td>What you measure</td><td>Views, add to cart and conversion per popup</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="write-the-reason-in-the-headline">Write the reason in the headline</h2>
<p>Choose Monet when the companion is real and the moment might be the cart, the checkout, or the exit. Read <a href="/blog/add-to-cart-popup-upsell.html?src=ninety9dev">add to cart popup upsells</a> before you write the line. If you cannot name why the second product belongs, it is not a cross-sell yet.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Can Monet do a cross-sell popup?</summary><div class="faq__a"><p>Yes. Cross-sell is one of the three layouts, next to bundle and add-on. The moment can be add to cart, the start of checkout, or exit.</p></div></details>
<details><summary>How are products chosen?</summary><div class="faq__a"><p>You can place them yourself or use Monet&#39;s product suggestions.</p></div></details>
<details><summary>Will it clash with a cart drawer?</summary><div class="faq__a"><p>Monet is built to work with cart drawers, including a drawer that opens on the same add-to-cart click.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Monet vs Kaching Upsell Popup: Product Offers at Intent</title>
      <link>https://ninety9.dev/blog/monet-vs-kaching-popup.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/monet-vs-kaching-popup.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Kaching&apos;s upsell popup and Monet both offer products in a Shopify overlay. Monet opens on add to cart, checkout and exit, with product suggestions, free.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Kaching&#39;s popup is another surface in the Kaching offer family.</li><li>Monet stays on the product offer and gives it three moments: add to cart, checkout and exit.</li><li>Bundle, cross-sell and add-on layouts, plus product suggestions and audience rules, are free.</li></ul></section>
<p><a href="https://apps.shopify.com/popup-upsell?src=ninety9dev" target="_blank" rel="noopener">Kaching Upsell &amp; Email Popup</a> sits in a suite merchants already know for bundles and carts. The popup is another surface for an offer. <a href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Monet</a> is that surface on its own, and it is strict about when the offer may appear.</p>
<p>A suite is convenient when you want one vendor for everything. A dedicated <a href="/apps/monet.html">upsell popup</a> is the better tool when the moment is the part you came to configure. Add to cart, the start of checkout, and exit are three configurations. They are three different shoppers.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/monet/icon.png" alt="Monet • AI Popup Bundle Addons app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Monet • AI Popup Bundle Addons</p>
<p class="appcta__text">AI upsell popups triggered on add to cart, checkout initiation and exit intent.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-product-offer-is-the-whole-job">The product offer is the whole job</h2>
<p>Kaching&#39;s popup extends an offer brand. If the bundles already live in that family, a matching popup feels tidy. <a href="/apps/monet.html">Monet</a>&#39;s job is narrower, and the narrowness is the point. The overlay exists to add a SKU.</p>
<p>It opens on add to cart, when checkout starts, or on exit. The layout is a bundle, a cross-sell or an add-on. The product can be a suggestion, so the frame stays relevant as the season changes, or a product you pin for a campaign. The offer can carry a discount, buy-one-get-one, a volume break or a countdown. Country and customer-tag rules decide who qualifies. Views, add-to-cart rate and conversion are the numbers that matter, because the success is another line item.</p>
<p>Monet is designed to sit beside a cart drawer. The drawer holds the cart. The popup makes the ask, then gets out of the way. It is free to install.</p>
<p>You can run it next to <a href="/apps/addly.html?src=ninety9dev">Addly</a> when the bundle itself is an <a href="/apps/addly.html">Addly</a> offer and the popup is only the invitation. The popup does not have to be the system of record for the discount. It has to be the moment.</p>
<h2 id="monet-and-kachings-popup">Monet and Kaching&#39;s popup</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Monet</th><th>Kaching Upsell Popup</th></tr></thead><tbody>
<tr><td>Price</td><td>Free</td><td>Free on development stores, then $4.99, $12.99 and $24.99</td></tr>
<tr><td>Moments</td><td>Add to cart, checkout starting, and exit</td><td>Popups on the product page</td></tr>
<tr><td>Which product</td><td>AI recommendations</td><td>The products you place in the popup</td></tr>
<tr><td>Shape of the offer</td><td>Bundle, cross-sell or add-on</td><td>Upsell and cross-sell</td></tr>
<tr><td>Offer maths</td><td>Percent, flat amount, BOGO, volume and a countdown</td><td>Not included</td></tr>
<tr><td>Who sees it</td><td>Country and customer tag, included free</td><td>Advanced targeting on the paid plans</td></tr>
<tr><td>Beside a drawer</td><td>Built to run with a cart drawer</td><td>A product-page popup</td></tr>
</tbody></table></div>
<h2 id="measure-it-on-added-revenue">Measure it on added revenue</h2>
<p>Choose Monet when the offer you want is a product, and you want a moment for checkout and exit as well as the add. <a href="/blog/exit-intent-popups-shopify.html?src=ninety9dev">Exit intent</a> and <a href="/blog/add-to-cart-popup-upsell.html?src=ninety9dev">add to cart upsells</a> are the two writes-ups to read before you copy one offer onto every moment. The exit version should be smaller. The add-to-cart version can be the set.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>How is Monet different from Kaching&#39;s popup?</summary><div class="faq__a"><p>Monet shows a bundle, cross-sell or add-on when the shopper adds to cart, starts checkout or exits. The product can come from a suggestion.</p></div></details>
<details><summary>Can I discount the upsell?</summary><div class="faq__a"><p>Yes. Monet supports discounts, buy-one-get-one, volume offers and countdowns.</p></div></details>
<details><summary>Does Monet replace a cart drawer?</summary><div class="faq__a"><p>The popup is the offer. The drawer is the cart. Monet is built to work beside a drawer.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Monet vs PopupGenius: A Popup That Adds a Product</title>
      <link>https://ninety9.dev/blog/monet-vs-popupgenius.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/monet-vs-popupgenius.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>PopupGenius covers promotional popups. Monet stays on the product offer: add to cart, checkout and exit, with suggestions and a free install.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>PopupGenius is a broad popup app for promotions on Shopify.</li><li>Monet is an upsell popup: it recommends a product at add to cart, checkout or exit.</li><li>Bundle and add-on layouts, product suggestions, and country or tag rules are free.</li></ul></section>
<p><a href="https://apps.shopify.com/popupgenius?src=ninety9dev" target="_blank" rel="noopener">PopupGenius</a> comes from the broad popup tradition: announcements, offers, the overlay a promotion calendar needs. <a href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Monet</a> is narrower on purpose. It pops up to sell another product, at the moment the shopper adds, starts checkout, or leaves.</p>
<p>A promotion can greet a landing. A cross-sell should wait until there is a product in mind. Those are different successes. A store that mixes them in one overlay usually gets a close click.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/monet/icon.png" alt="Monet • AI Popup Bundle Addons app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Monet • AI Popup Bundle Addons</p>
<p class="appcta__text">AI upsell popups triggered on add to cart, checkout initiation and exit intent.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-only-acceptable-result-is-another-line-item">The only acceptable result is another line item</h2>
<p>PopupGenius can carry a promotion. That is useful for a seasonal message. It is a weak shape for &quot;this specific SKU belongs with the one you just added,&quot; because a product decision needs a picture, a price and one action.</p>
<p><a href="/apps/monet.html">Monet</a> sells that decision.</p>
<p>A bundle, a cross-sell or an add-on. Opened by add to cart, the start of checkout, or exit. Filled by a product suggestion or by a SKU you choose. Priced with a discount, buy-one-get-one, a volume deal or a countdown. Limited by country or customer tag. Measured by views, add-to-cart rate and conversion. It sits beside a cart drawer, and it stays quiet until there is intent. It is free.</p>
<p>If the campaign is &quot;10% off the site this weekend,&quot; this is the wrong app. Keep that message where you already run promotions. If the campaign is &quot;the pouch is $18 and completes free shipping,&quot; Monet is the right one. <a href="/apps/goalify.html?src=ninety9dev">Goalify</a> can own the shipping maths. Monet can own the product ask.</p>
<h2 id="monet-and-popupgenius">Monet and PopupGenius</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Monet</th><th>PopupGenius</th></tr></thead><tbody>
<tr><td>Price</td><td>Free. No view cap and no credit cap</td><td>Free plan is 1 popup, 500 views and 20 AI credits. Then $9.99, $19.99 and $39.99</td></tr>
<tr><td>Moments</td><td>Add to cart, checkout starting, and exit</td><td>Popups</td></tr>
<tr><td>Shape of the offer</td><td>Bundle, cross-sell or add-on</td><td>Upsell and cross-sell popups</td></tr>
<tr><td>Who sees it</td><td>Country and customer tag, included</td><td>Advanced targeting starts at $9.99</td></tr>
<tr><td>Offer maths</td><td>Percent, flat amount, BOGO, volume and a countdown</td><td>Not included</td></tr>
<tr><td>What you measure</td><td>Views, add to cart and conversion per popup</td><td>Not included</td></tr>
</tbody></table></div>
<h2 id="put-one-product-in-the-frame">Put one product in the frame</h2>
<p>Install Monet when the overlay has to add a SKU. The pattern is in <a href="/blog/add-to-cart-popup-upsell.html?src=ninety9dev">add to cart popup upsells</a>. A popup that needs a scroll is a page. One product, one reason, one button.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Monet a general popup builder?</summary><div class="faq__a"><p>Monet shows product upsells: bundles, cross-sells and add-ons. It opens on add to cart, when checkout starts, or on exit.</p></div></details>
<details><summary>Can Monet target a segment?</summary><div class="faq__a"><p>Yes. Offers can target by country and by customer tag.</p></div></details>
<details><summary>How much does Monet cost?</summary><div class="faq__a"><p>It is free to install.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Monet vs Uplift: Shopify Upsell Popups After the Click</title>
      <link>https://ninety9.dev/blog/monet-vs-uplift-popups.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/monet-vs-uplift-popups.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Bundles &amp; Upsells</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Uplift and Monet are Shopify upsell popups. Monet covers add to cart, the start of checkout and exit, with product suggestions, discounts and a free install.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Uplift is an upsell popup aimed at a bigger order after a shopper shows intent.</li><li>Monet splits that intent into add to cart, checkout and exit, each with its own offer.</li><li>Layouts cover bundles, cross-sells and add-ons, and the app is free.</li></ul></section>
<p><a href="https://apps.shopify.com/uplift-1?src=ninety9dev" target="_blank" rel="noopener">Uplift</a> is named for the outcome: a higher order, offered in a popup after the shopper has leaned in. <a href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Monet</a> is aimed at that same lift, and it treats the moment as part of the offer. An add-to-cart bundle and an exit add-on are both upsells. They are not the same screen.</p>
<p>The first yes is the product. The popup asks for a second yes while the shopper is still in the flow. That is a better ask than a greeting on the landing page. Checkout stalls and exits are where a lot of Shopify revenue is actually decided, and a single trigger leaves those sessions alone.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/monet/icon.png" alt="Monet • AI Popup Bundle Addons app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Monet • AI Popup Bundle Addons</p>
<p class="appcta__text">AI upsell popups triggered on add to cart, checkout initiation and exit intent.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/monet?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-second-yes-needs-a-shape">The second yes needs a shape</h2>
<p>A bundle is a second yes to a set. A cross-sell is a second yes to a partner product. An add-on is a second yes to something small. One generic grid makes all three look like the same collection. <a href="/apps/monet.html">Monet</a> gives each shape a layout, and each layout a moment.</p>
<p>On add to cart, match the size of the yes they just made. A set, or the obvious companion. As checkout starts, ask for less. They are done browsing. One add-on, a plain price, a single button. On exit, ask for less again. A reason to stay should be cheaper and shorter than the offer you were proud of on the product page.</p>
<p>Suggestions can choose the product as the catalogue changes. You can still pin a SKU for a campaign. Discounts, buy-one-get-one, volume and a countdown cover the maths of the offer. Country and customer-tag rules keep the wrong shopper out of it. Views, add-to-cart rate and conversion tell you which moment is paying for itself. The popup works with a cart drawer. Monet is free.</p>
<h2 id="monet-and-uplift">Monet and Uplift</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Monet</th><th>Uplift</th></tr></thead><tbody>
<tr><td>Moments</td><td>Add to cart, checkout starting, and exit</td><td>Add to cart</td></tr>
<tr><td>Which product</td><td>AI picks from purchase patterns</td><td>Complementary items in the popup</td></tr>
<tr><td>Shape of the offer</td><td>Bundle, cross-sell or add-on</td><td>An upsell or cross-sell popup</td></tr>
<tr><td>Offer maths</td><td>Percent, flat amount, BOGO, volume and a countdown</td><td>The upsell</td></tr>
<tr><td>Who sees it</td><td>Country and customer tag</td><td>Not included</td></tr>
<tr><td>Languages</td><td>Translations and the shopper&#39;s currency</td><td>English</td></tr>
<tr><td>Price</td><td>Free</td><td>Free plan, plus a $9.99 pay-what-you-want plan</td></tr>
</tbody></table></div>
<h2 id="follow-the-step-they-are-actually-on">Follow the step they are actually on</h2>
<p>Use Monet when the lift should follow the shopper&#39;s step. <a href="/blog/exit-intent-popups-shopify.html?src=ninety9dev">Exit-intent popups</a> covers the leaving case. Keep that offer cheaper and shorter than the add-to-cart bundle. The shopper is already halfway out. Meeting them with the same four-product grid is how popups get closed on sight.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>What moments can Monet use?</summary><div class="faq__a"><p>Add to cart, the start of checkout, and exit. Each offer can use the moment that matches it.</p></div></details>
<details><summary>Can the popup include a discount?</summary><div class="faq__a"><p>Yes. Offers can include a discount, buy-one-get-one, a volume break or a countdown.</p></div></details>
<details><summary>Is Monet free?</summary><div class="faq__a"><p>Yes. Monet is free to install.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Reviso vs AE Order Editing: Customer Edits Before the Order Ships</title>
      <link>https://ninety9.dev/blog/reviso-vs-ae-order-editor.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/reviso-vs-ae-order-editor.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Retention &amp; Post-Purchase</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>AE: Order Editing &amp; Upsell is a paid Shopify editor from about $39 a month. Reviso covers the same customer edits, cancellation saves and product suggestions, free.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>AE: Order Editing &amp; Upsell edits orders from the customer account and adds an upsell, on a paid plan from about $39 a month.</li><li>Reviso does address, item, variant and shipping edits until fulfilment, with no install fee.</li><li>Cancellation saves, rules, returns and store credit sit in the same free app.</li></ul></section>
<p><a href="https://apps.shopify.com/account-editor?src=ninety9dev" target="_blank" rel="noopener">AE: Order Editing &amp; Upsell</a> puts the editor in the customer account and pairs it with an upsell. Paid plans start around $39 a month. <a href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Reviso</a> puts the same pair on the order. The customer fixes it. The screen can still sell. There is no monthly fee to begin.</p>
<p>Account editing is the right home for the tool. The customer is logged in. The order is theirs. A second login sends people back to email, which is the queue you were trying to shrink.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/reviso/icon.png" alt="Reviso: Order editing &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Reviso: Order editing &amp; Upsell</p>
<p class="appcta__text">Post-purchase self-service order editing with cancellation deflection and AI upsells.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-account-page-is-where-they-already-look">The account page is where they already look</h2>
<p>AE&#39;s name says account editor because that is where Shopify customers expect to manage an order. The upsell is there because the account page on most themes is a dead end: status, tracking, nothing to buy. A relevant product on that page is revenue with no extra ad spend.</p>
<p><a href="/apps/reviso.html">Reviso</a> lives in that same account, on a screen that looks like Shopify.</p>
<p>Customers can change the address, the items, the quantities, the variants and the shipping method. The controls close at fulfilment, so the account cannot rewrite a shipped order. Country, tag and order rules cover accounts that should not self-serve. A cancellation can be met with a discount or a gift. Suggestions and recently viewed products are the upsell. Recently viewed is the honest one. They looked at those products in this shop. A suggestion can add a second idea from similar orders.</p>
<p>Returns, exchanges and store credit stay in the same app. Reviso is free to install.</p>
<p>A customer who can fix a size without emailing you will forgive a quiet account page. A customer who cannot fix the size will not care how clever the upsell was. Open the edit first. Add the product once the edit is trusted.</p>
<h2 id="reviso-and-ae">Reviso and AE</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Reviso</th><th>AE: <a href="/apps/reviso.html">Order Editing</a> &amp; Upsell</th></tr></thead><tbody>
<tr><td>Price</td><td>Free</td><td>From $39 a month, then $99, $179 and $249</td></tr>
<tr><td>What they can change</td><td>Address, items, quantities, variants and shipping method</td><td>Shipping address</td></tr>
<tr><td>If they try to cancel</td><td>A discount or a free gift</td><td>Not included</td></tr>
<tr><td>Another product</td><td>AI suggestions and recently viewed</td><td>One-click upsell</td></tr>
<tr><td>After delivery</td><td>Returns, exchanges and store credit</td><td>Not included</td></tr>
<tr><td>Who can edit</td><td>Country, customer tag and order rules</td><td>Not included</td></tr>
<tr><td>Cutoff</td><td>Edits close at fulfilment</td><td>Not stated</td></tr>
<tr><td>Where they find it</td><td>Customer accounts</td><td>The account editor</td></tr>
</tbody></table></div>
<h2 id="prove-the-ticket-savings-before-you-add-a-fee">Prove the ticket savings before you add a fee</h2>
<p>Choose Reviso when you want account editing on a store that is still proving the ticket savings. Open the fields from the <a href="/blog/shopify-order-editing-guide.html?src=ninety9dev">order editing guide</a>. Add the upsell after the edit itself is something customers can find in one look.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Reviso an alternative to AE Order Editing?</summary><div class="faq__a"><p>Yes. Customers can edit the order in a Shopify-style account experience until it is fulfilled, and they can see product suggestions and recently viewed products.</p></div></details>
<details><summary>What does AE cost compared with Reviso?</summary><div class="faq__a"><p>AE&#39;s paid plans start at about $39 a month. Reviso is free to install.</p></div></details>
<details><summary>Can Reviso answer a cancellation?</summary><div class="faq__a"><p>It can offer a discount or a gift when the customer tries to cancel, subject to the rules you set.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Reviso vs Editly: Order Editing Without the Ticket</title>
      <link>https://ninety9.dev/blog/reviso-vs-editly.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/reviso-vs-editly.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Retention &amp; Post-Purchase</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Editly and Reviso let Shopify buyers edit orders themselves. Reviso adds cancellation saves, product suggestions, returns and store credit, free to install.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Editly is a self-serve order editor for Shopify.</li><li>Reviso covers address, items, variants and shipping method, and closes edits when the order is fulfilled.</li><li>Cancellation saves, suggestions, returns, exchanges and store credit are in the same app, free.</li></ul></section>
<p><a href="https://apps.shopify.com/editly-order-editing?src=ninety9dev" target="_blank" rel="noopener">Editly</a> is a self-serve editor. The customer fixes the order so you do not have to. <a href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Reviso</a> starts from that same inbox problem and keeps going through the cancel request and the return.</p>
<p>Support teams adopt editors to delete a ticket type. They abandon them when the editor cannot do the change customers actually request, or when it still allows a change the warehouse can no longer honour. The useful editor does the common edits, stops at fulfilment, and has an answer for cancel.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/reviso/icon.png" alt="Reviso: Order editing &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Reviso: Order editing &amp; Upsell</p>
<p class="appcta__text">Post-purchase self-service order editing with cancellation deflection and AI upsells.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="can-you-change-the-address-is-the-expensive-cheap-ticket">&quot;Can you change the address&quot; is the expensive cheap ticket</h2>
<p>The customer is motivated. The agent is copying fields. An editor on the order, inside customer accounts, removes the copy-paste. The screen should look like Shopify. A branded detour that asks for the order number again sends people back to email, which is the ticket you were trying to delete.</p>
<p>The ticket types next to the address are &quot;cancel this&quot; and &quot;I want the other variant.&quot; <a href="/apps/reviso.html">Reviso</a> covers address, line items, quantities, variants and shipping method. The controls disappear after fulfilment, so a printed pick list is not rewritten by a customer at 11pm.</p>
<p>A cancel attempt can be met with a discount or a gift. The customer who accepts 10% off never becomes a refund ticket. On the same screen, suggestions and recently viewed products give a warm buyer something to add. Recently viewed is what they already considered. The suggestion is the second idea. Neither should bury the address field.</p>
<p>Rules by country, tag and order keep the risky orders with your team. Returns, exchanges and store credit cover the relationship after delivery. Store credit is how a return can become the next order. Reviso is free to install.</p>
<h2 id="reviso-and-editly">Reviso and Editly</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Reviso</th><th>Editly</th></tr></thead><tbody>
<tr><td>What they can change</td><td>Address, items, quantities, variants and shipping method</td><td>Address, variant, quantity and cancel</td></tr>
<tr><td>Shipping method</td><td>Yes</td><td>Not included</td></tr>
<tr><td>If they try to cancel</td><td>A discount or a free gift, instead of losing the order</td><td>Cancel the order</td></tr>
<tr><td>Another product</td><td>AI suggestions and recently viewed</td><td>Not included</td></tr>
<tr><td>Who can edit</td><td>Country, customer tag and order rules</td><td>Not included</td></tr>
<tr><td>After delivery</td><td>Returns, exchanges and store credit</td><td>Not included</td></tr>
<tr><td>Cutoff</td><td>Edits close when the order is fulfilled</td><td>Not stated</td></tr>
<tr><td>Price</td><td>Free, inside customer accounts</td><td>The Editly app</td></tr>
</tbody></table></div>
<h2 id="move-one-ticket-type-first">Move one ticket type first</h2>
<p>Choose Reviso when the ticket you want to delete is the edit, the cancel and the simple return. <a href="/blog/self-serve-order-edits-vs-tickets.html?src=ninety9dev">Self-serve order edits vs tickets</a> is the rollout. Start with the address. Open quantities once the warehouse agrees on the cutoff.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Reviso an Editly alternative?</summary><div class="faq__a"><p>Yes. Customers edit the order from a Shopify-style screen, including in customer accounts, until fulfilment.</p></div></details>
<details><summary>Can Reviso handle a return as well as an edit?</summary><div class="faq__a"><p>Yes. Returns, exchanges and store credit are part of Reviso, for the part of the relationship that happens after delivery.</p></div></details>
<details><summary>How much is Reviso?</summary><div class="faq__a"><p>Free to install.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Reviso vs Oat: Shopify Order Editing for Customers</title>
      <link>https://ninety9.dev/blog/reviso-vs-oat-order-editing.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/reviso-vs-oat-order-editing.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Retention &amp; Post-Purchase</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Oat and Reviso both offer Shopify order editing. Reviso lets buyers change address, items and shipping until fulfilment, with cancellation saves and product suggestions, free.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Oat is a customer-facing order editor for Shopify.</li><li>Reviso stops edits at fulfilment and can answer a cancellation with a discount or a gift.</li><li>Rules by country, tag and order keep the editor off orders that should stay with your team.</li></ul></section>
<p><a href="https://apps.shopify.com/oat-order-editing?src=ninety9dev" target="_blank" rel="noopener">Oat</a> gives the customer an editor for the Shopify order they just placed. The problem is universal: checkout is finished, the address is wrong, the variant is wrong, and the customer does not want to email anyone. <a href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Reviso</a> is that editor, with rules for which orders qualify and a response when the click is &quot;cancel.&quot;</p>
<p>Universal problems still have exceptions. A preorder, a wholesale tag, or an international shipment may need a person. The app should know that before the customer does.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/reviso/icon.png" alt="Reviso: Order editing &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Reviso: Order editing &amp; Upsell</p>
<p class="appcta__text">Post-purchase self-service order editing with cancellation deflection and AI upsells.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="simple-for-the-customer-strict-for-the-orders-staff-still-own">Simple for the customer, strict for the orders staff still own</h2>
<p>Oat represents the straightforward editor. Find the order, change the field, save. Merchants want the smallest possible explanation for the customer. A screen that looks like Shopify helps, because it does not feel like a form from somewhere else.</p>
<p>Straightforward editors get risky at the boundary. Fulfilled. Partially fulfilled. Tagged do-not-edit. If the boundary is a help article, customers will cross it. If the boundary is the app, they will not see the control. <a href="/apps/reviso.html">Reviso</a> hides the edit once the order is fulfilled.</p>
<p>Until then, the customer can change the address, the items, the quantity, the variant and the shipping method. Orders can be included or left alone using country, tag and order rules. A cancel attempt can be met with a discount or a gift. Suggestions and recently viewed products can sit on the same screen, without becoming the only thing on it. The edit is the task.</p>
<p>Returns, exchanges and store credit cover the order after that window. The interface lives in customer accounts. Reviso is free to install.</p>
<h2 id="reviso-and-oat">Reviso and Oat</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Reviso</th><th>Oat</th></tr></thead><tbody>
<tr><td>What they can change</td><td>Address, items, quantities, variants and shipping method</td><td>Self-serve <a href="/apps/reviso.html">order editing</a></td></tr>
<tr><td>If they try to cancel</td><td>A discount or a free gift</td><td>Not described</td></tr>
<tr><td>Another product</td><td>AI suggestions and recently viewed</td><td>Not described</td></tr>
<tr><td>Who can edit</td><td>Country, customer tag and order rules</td><td>Not described</td></tr>
<tr><td>After delivery</td><td>Returns, exchanges and store credit</td><td>Not described</td></tr>
<tr><td>Cutoff</td><td>Edits close at fulfilment</td><td>Not described</td></tr>
<tr><td>Where they find it</td><td>Customer accounts, in a screen that looks like Shopify</td><td>The editor</td></tr>
<tr><td>Price</td><td>Free</td><td>The Oat app</td></tr>
</tbody></table></div>
<h2 id="one-sentence-the-warehouse-would-sign">One sentence the warehouse would sign</h2>
<p>Pick Reviso when the editor has to be simple for the customer and strict for the orders your team still owns. Read the <a href="/blog/shopify-order-editing-guide.html?src=ninety9dev">order editing guide</a> and decide the boundary in one sentence. That sentence is the configuration.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>What can a customer change in Reviso?</summary><div class="faq__a"><p>Shipping address, items, quantities, variants and shipping method, until the order is fulfilled.</p></div></details>
<details><summary>Can some orders be excluded?</summary><div class="faq__a"><p>Yes. Rules can use country, customer tag and order conditions.</p></div></details>
<details><summary>Is there an offer on the edit screen?</summary><div class="faq__a"><p>The edit screen can show product suggestions and products the customer recently viewed.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Reviso vs Order Editing &amp; Upsell: Self-Serve Edits Before Fulfilment</title>
      <link>https://ninety9.dev/blog/reviso-vs-order-editing-upsell.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/reviso-vs-order-editing-upsell.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Retention &amp; Post-Purchase</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Order Editing &amp; Upsell and Reviso both let Shopify customers fix an order. Reviso answers a cancellation with a discount or a gift, and suggests products on the edit screen. Free.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Order Editing &amp; Upsell lets customers change an order and see an offer after checkout.</li><li>Reviso keeps edits open until fulfilment and can answer a cancellation with a discount or a gift.</li><li>The edit screen can suggest products and show what they recently viewed. The app is free.</li></ul></section>
<p><a href="https://apps.shopify.com/order-editing-1?src=ninety9dev" target="_blank" rel="noopener">Order Editing &amp; Upsell</a> covers the two jobs that appear the hour after checkout: fix the order, and sell one more thing while the customer is still paying attention. <a href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Reviso</a> is built for those jobs, with a clear stop when the order ships, and a specific answer when the customer hits cancel.</p>
<p>Edits after fulfilment are how support tickets and warehouse mistakes get invented. <a href="/apps/reviso.html">Reviso</a> closes the edit window when the order is fulfilled. The customer can fix what is still cheap to fix. The warehouse is not asked to rewrite a label that has already been printed.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/reviso/icon.png" alt="Reviso: Order editing &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Reviso: Order editing &amp; Upsell</p>
<p class="appcta__text">Post-purchase self-service order editing with cancellation deflection and AI upsells.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="fix-it-or-save-it">Fix it, or save it</h2>
<p>The thank-you page and the customer account are a second storefront. The buyer can correct a mistake. The merchant can show another product. Both are cheaper than an inbox. The cancel button is the third job, and it usually waits until the refunds report.</p>
<p>A customer who meant &quot;I picked the wrong size&quot; should not walk the same path as a customer who meant &quot;I changed my mind.&quot; Reviso can meet a cancellation with a discount or a gift. Some people take it. The order stays. The people who still cancel were not going to be saved by a slower form.</p>
<p>On the edit screen itself, Reviso can show suggestions and products the customer recently viewed. Recently viewed is the honest recommendation. They already looked at those products in this shop. A suggestion can sit beside that. The edit remains the task. A customer fixing an apartment number should still be able to find the address field first.</p>
<h2 id="who-is-allowed-to-touch-the-order">Who is allowed to touch the order</h2>
<p>Rules can use country, customer tag and the order itself. A wholesale tag, a preorder, or a shipment you do not want rewritten can stay with your team. Everyone else gets a screen that looks like Shopify, including inside customer accounts, so it does not feel like a third-party form asking for the order number twice.</p>
<p>After delivery, returns, exchanges and store credit stay in the same app. The relationship does not jump to a different brand of tool the day the parcel moves. Reviso is free to install.</p>
<h2 id="reviso-and-order-editing-upsell">Reviso and Order Editing &amp; Upsell</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Reviso</th><th><a href="/apps/reviso.html">Order Editing</a> &amp; Upsell</th></tr></thead><tbody>
<tr><td>What they can change</td><td>Address, items, quantities, variants and shipping method</td><td>Address or quantities, from a thank-you block</td></tr>
<tr><td>Variants</td><td>Swap size or colour before it ships</td><td>Not included</td></tr>
<tr><td>Shipping method</td><td>Yes</td><td>Not included</td></tr>
<tr><td>If they try to cancel</td><td>A discount or a free gift</td><td>Not included</td></tr>
<tr><td>Another product</td><td>AI suggestions and recently viewed</td><td>Not included</td></tr>
<tr><td>Who can edit</td><td>Country, customer tag and order rules</td><td>Not included</td></tr>
<tr><td>After delivery</td><td>Returns, exchanges and store credit</td><td>Not included</td></tr>
<tr><td>Price</td><td>Free, and edits close at fulfilment</td><td>The thank-you page block</td></tr>
</tbody></table></div>
<h2 id="write-down-what-may-change">Write down what may change</h2>
<p>Use Reviso when editing and the post-purchase offer are both in scope, and cancellations should be a conversation. The policy side is in the <a href="/blog/shopify-order-editing-guide.html?src=ninety9dev">Shopify order editing guide</a> and <a href="/blog/self-serve-order-edits-vs-tickets.html?src=ninety9dev">self-serve edits vs tickets</a>. Open the fields your warehouse will still honour. Leave payment captures with your team.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Can customers edit a Shopify order with Reviso?</summary><div class="faq__a"><p>Yes. They can change the address, line items, quantities, variants and shipping method until the order is fulfilled.</p></div></details>
<details><summary>What happens if they try to cancel?</summary><div class="faq__a"><p>Reviso can offer a discount or a free gift before the order is lost.</p></div></details>
<details><summary>Does Reviso have a monthly fee?</summary><div class="faq__a"><p>Reviso is free to install.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Reviso vs OrderEditing.com: Self-Serve Edits on a Store Budget</title>
      <link>https://ninety9.dev/blog/reviso-vs-orderediting.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/reviso-vs-orderediting.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Retention &amp; Post-Purchase</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>OrderEditing.com is a Shopify order-editing suite from about $99 a month. Reviso covers address, items, cancellation saves, suggestions and returns, and it is free to install.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>OrderEditing.com is a full order-editing product, with public plans from about $99 a month.</li><li>Reviso gives customers address, item, variant and shipping edits until fulfilment, for free.</li><li>Cancellation saves, product suggestions, returns, exchanges and store credit are included.</li></ul></section>
<p><a href="https://apps.shopify.com/order-editing?src=ninety9dev" target="_blank" rel="noopener">OrderEditing.com</a> is the suite end of Shopify <a href="/apps/reviso.html">order editing</a>. Public plans start around $99 a month. <a href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Reviso</a> is the customer job inside that category: fix the order yourself, before it ships, without a ticket.</p>
<p>A suite earns a high price when a company needs a programme of modules and a team that lives in them. A store that needs customers to change an address needs a screen and a cutoff. The features people actually use are repetitive. Change the address. Swap the variant. Add one more unit. Stop the cancellation if a small offer would do it. Show something they already viewed.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/reviso/icon.png" alt="Reviso: Order editing &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Reviso: Order editing &amp; Upsell</p>
<p class="appcta__text">Post-purchase self-service order editing with cancellation deflection and AI upsells.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="the-edits-that-delete-tickets">The edits that delete tickets</h2>
<p><a href="/apps/reviso.html">Reviso</a> includes those edits at no monthly fee.</p>
<p>Customers can change the address, the line items, the quantities, the variants and the shipping method. The window closes at fulfilment, so a shipped order is not rewritten from the account page. A cancellation can be met with a discount or a free gift. The edit screen can show suggestions and recently viewed products. Rules by country, customer tag and order conditions keep exceptions with your team. The screen looks like Shopify and lives in customer accounts. Returns, exchanges and store credit stay on the same product.</p>
<p>You can put Reviso on a store this week and judge it on saved tickets. The platform fee does not start before the first edit.</p>
<h2 id="reviso-and-orderediting-com">Reviso and OrderEditing.com</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Reviso</th><th>OrderEditing.com</th></tr></thead><tbody>
<tr><td>Price</td><td>Free</td><td>From $99 a month, then $199, $399 and $599 by order band</td></tr>
<tr><td>What they can change</td><td>Address, items, quantities, variants and shipping method</td><td>Self-serve order editing</td></tr>
<tr><td>If they try to cancel</td><td>A discount or a free gift</td><td>Not included</td></tr>
<tr><td>Another product</td><td>AI suggestions and recently viewed</td><td>One-click upsell</td></tr>
<tr><td>After delivery</td><td>Returns, exchanges and store credit</td><td>Not included</td></tr>
<tr><td>Who can edit</td><td>Country, customer tag and order rules</td><td>Not included</td></tr>
<tr><td>Cutoff</td><td>Edits close at fulfilment</td><td>Not stated</td></tr>
</tbody></table></div>
<h2 id="start-free-open-the-fields-that-matter">Start free, open the fields that matter</h2>
<p>Switch to Reviso when you want customers editing orders on a store that should not be paying suite prices for address changes. For a first editor, free and pre-fulfilment is the practical default.</p>
<p>The <a href="/blog/shopify-order-editing-guide.html?src=ninety9dev">Shopify order editing guide</a> lists the fields worth opening. Open those. Leave internal notes and payment captures with staff.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is Reviso an alternative to OrderEditing.com?</summary><div class="faq__a"><p>Yes, for self-serve Shopify order edits before fulfilment, plus a cancellation offer, recommendations on the edit screen, returns, exchanges and store credit.</p></div></details>
<details><summary>Why do stores compare the price?</summary><div class="faq__a"><p>OrderEditing.com&#39;s public plans start around $99 a month. Reviso is free to install, with the edit window, the rules and the offer screen included.</p></div></details>
<details><summary>Do edits stay open after fulfilment?</summary><div class="faq__a"><p>Reviso closes customer edits once the order is fulfilled. A change after that stays with your team.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Reviso vs Vista: Order Editing, Returns and the Cancel Button</title>
      <link>https://ninety9.dev/blog/reviso-vs-vista-order-editing.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/reviso-vs-vista-order-editing.html</guid>
      <pubDate>Sat, 10 Oct 2026 09:00:00 GMT</pubDate>
      <category>Retention &amp; Post-Purchase</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Vista and Reviso handle Shopify order edits. Reviso pairs the editor with cancellation saves, product suggestions, returns, exchanges and store credit, free.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>Vista is an order-editing app for Shopify customers.</li><li>Reviso keeps the edit window before fulfilment and continues into returns, exchanges and store credit.</li><li>A cancellation can be answered with a discount or a gift. The app is free.</li></ul></section>
<p><a href="https://apps.shopify.com/vista-order-editing?src=ninety9dev" target="_blank" rel="noopener">Vista</a> lets the buyer correct a Shopify order without a ticket. <a href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Reviso</a> treats editing as the first chapter. The cancel attempt is the second. The return, the exchange and the store credit are the third.</p>
<p>Stores that buy an editor and a separate returns app often describe the same customer twice. The order is the object. One surface can follow it, from the wrong address this afternoon to the exchange next week.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/apps/reviso/icon.png" alt="Reviso: Order editing &amp; Upsell app icon" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Reviso: Order editing &amp; Upsell</p>
<p class="appcta__text">Post-purchase self-service order editing with cancellation deflection and AI upsells.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="https://apps.shopify.com/reviso-order-editor?src=ninety9dev" target="_blank" rel="noopener">Install on Shopify<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="customers-experience-one-order-not-two-departments">Customers experience one order, not two departments</h2>
<p>Vista&#39;s category solves the correction before the parcel moves. Address, the item, the quantity. That is the highest-frequency request, and it deserves a dedicated flow.</p>
<p>Customers do not experience their problem as &quot;before shipment&quot; or &quot;after shipment.&quot; They experience it as the order. <a href="/apps/reviso.html">Reviso</a> keeps both chapters on one product. Before fulfilment they can change the address, the items, the quantities, the variants and the shipping method. When the order is fulfilled, those controls close. After delivery, returns, exchanges and store credit are the path.</p>
<p>A cancellation in the middle can be met with a discount or a gift. Suggestions and recently viewed items can appear on the edit screen for customers who are still in a buying mood. The address field stays findable. Audience rules use country, customer tag and order conditions, so the orders your team must touch never show the button.</p>
<p>The screen looks like Shopify and lives in customer accounts. Reviso is free to install.</p>
<p>Store credit is the quiet retention tool. A return that can become credit is a return that can become the next order. Keeping it with the editor means the two flows agree about what the customer is owed.</p>
<h2 id="reviso-and-vista">Reviso and Vista</h2>
<div class="tablewrap"><table><thead><tr><th>Feature</th><th>Reviso</th><th>Vista</th></tr></thead><tbody>
<tr><td>Price</td><td>Free, with the edits below included</td><td>Free for 30 edits. Pro is $30. Premium is $100</td></tr>
<tr><td>If they try to cancel</td><td>A discount or a free gift</td><td>Cancel the order</td></tr>
<tr><td>Another product</td><td>AI suggestions and recently viewed, included</td><td>One-click upsells on the $30 plan</td></tr>
<tr><td>After delivery</td><td>Returns, exchanges and store credit, included</td><td>Store credit on the $30 plan</td></tr>
<tr><td>Who can edit</td><td>Country, tag and order rules, included</td><td>Rule-based editing on the $30 plan</td></tr>
<tr><td>What they can change</td><td>Address, items, quantities, variants and shipping method</td><td>Address, contact, products, variants and delivery method</td></tr>
<tr><td>Cutoff</td><td>Edits close at fulfilment</td><td>A timeframe you set</td></tr>
</tbody></table></div>
<h2 id="launch-the-field-change-then-the-save">Launch the field change, then the save</h2>
<p>Use Reviso when you want the editing outcome and you also want the cancel and the return on that surface. The field change is the first thing to launch. The save offer is the second, because it pays for the project the first week someone accepts it.</p>
<p><a href="/blog/self-serve-order-edits-vs-tickets.html?src=ninety9dev">Self-serve edits versus tickets</a> helps you sequence the launch so the warehouse is not surprised by a return flow they have not seen.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Does Reviso include returns?</summary><div class="faq__a"><p>Yes. Besides edits before fulfilment, Reviso supports returns, exchanges and store credit.</p></div></details>
<details><summary>Can Reviso save a cancellation?</summary><div class="faq__a"><p>It can offer a discount or a free gift when the customer starts to cancel.</p></div></details>
<details><summary>Where does the customer edit?</summary><div class="faq__a"><p>On a Shopify-style screen, including customer accounts, subject to country, tag and order rules.</p></div></details>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Free Shopify AI SEO Audit — Check If Models Can Read Your Store</title>
      <link>https://ninety9.dev/blog/free-shopify-ai-seo-audit.html</link>
      <guid isPermaLink="true">https://ninety9.dev/blog/free-shopify-ai-seo-audit.html</guid>
      <pubDate>Wed, 09 Sep 2026 09:00:00 GMT</pubDate>
      <category>SEO &amp; AI</category>
      <dc:creator>Ninety9 Team</dc:creator>
      <description>Run a free Shopify AI SEO audit on any public page. See schema gaps, blocked AI bots and missing llms.txt before you rewrite another product description.</description>
      <content:encoded><![CDATA[<section class="takeaways"><h2>Key takeaways</h2><ul><li>A free Shopify AI SEO audit should read the live page, not ask for collaborator access.</li><li>Focus on structured facts, crawler access and llms.txt — not a vanity AI score.</li><li>Fix the page type you pasted: product markup for products, WebSite for the homepage.</li><li>Use the ChatGPT SEO check for Shopify stores when you want that list in under a minute.</li><li>The public check is free and rate-limited, with no credit card; it names gaps, it does not edit the theme.</li></ul></section>
<p>You do not need another paid “AI SEO” retainer to learn if your Shopify store is readable to models. You need a free Shopify AI SEO audit that reads the public page and returns a punch list you can staff. Open the <a href="/chatgpt-seo/">ChatGPT SEO check for Shopify stores</a>, paste any storefront URL, and fix schema gaps, blocked AI bots and a missing <a href="/blog/shopify-llms-txt-guide.html">llms.txt</a> before you rewrite another product description.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/brand/ninety9-mark.png" alt="Ninety9 SEO and AI Audit" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Free ChatGPT SEO check for Shopify stores</p>
<p class="appcta__text">Paste a homepage, collection, product, blog, or store page. See whether schema, robots.txt, and llms.txt let ChatGPT read the page — then ask it yourself.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="/chatgpt-seo/">Run the check<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<h2 id="what-a-free-shopify-ai-seo-audit-should-be">What a free Shopify AI SEO audit should be</h2>
<p>It should read the live page. It should not ask for collaborator access. It should not hide the findings behind a sales call. Focus on structured facts, crawler access and llms.txt — not a vanity “AI score” nobody can verify.</p>
<p>The public check on ninety9.dev is free and rate-limited. No credit card. It names what is missing so you or your developer can fix the theme, SEO app or robots.txt. It will not edit the theme for you.</p>
<p>Agencies may use it only on stores they are authorised to check. Merchants can opt out with a meta tag.</p>
<h2 id="why-ai-seo-audits-fail-merchants">Why “AI SEO” audits fail merchants</h2>
<p>Agencies ship 40-page decks that mix Core Web Vitals, backlinks and “write for ChatGPT” fluff. You leave with homework and no single next click.</p>
<p>A useful free Shopify AI SEO audit is shorter: can a model fetch this URL, and are the facts on the page marked up so it does not guess? Keep Google Search Console for indexing and queries. This check does not replace it.</p>
<p>If you also care about the buy button, that is a different pass — the <a href="/cro-audit/">CRO Audit</a> looks at what stops the sale on a product page. Do not mix the two punch lists in one ticket.</p>
<h2 id="what-to-check-before-you-rewrite-copy">What to check before you rewrite copy</h2>
<p>Rewriting descriptions when the product has no Product JSON-LD is theatre. Unblocking GPTBot when the page is noindex is theatre. Publishing llms.txt while Organization markup is missing is incomplete.</p>
<p>Order of work for most stores:</p>
<ol>
<li>Indexable page (no accidental noindex)</li>
<li>Consistent name / title / OG</li>
<li>Structured data for <strong>that</strong> page type</li>
<li>robots.txt allows the AI crawlers you care about</li>
<li>Optional llms.txt</li>
</ol>
<p>Fix the page type you pasted: product markup for products, WebSite or Organization for the homepage. A green homepage does not prove the PDP is clean.</p>
<h2 id="how-to-run-the-free-check">How to run the free check</h2>
<ol>
<li>Open the <a href="/chatgpt-seo/">ChatGPT SEO check for Shopify stores</a>.</li>
<li>Paste yourstore.com or any Shopify page. No login. https:// is optional.</li>
<li>If the store is password-protected, paste the storefront password when asked.</li>
<li>Read the fails top to bottom. Each row is a merchant-facing outcome: “price missing in markup,” “GPTBot blocked,” “no llms.txt.”</li>
<li>Copy reds into your tracker with the URL and date.</li>
<li>Ship the theme or robots change. Re-paste the same URL.</li>
<li>Use the ask-assistant buttons and compare the answer to the live page.</li>
</ol>
<p>Full click-path: <a href="/blog/how-to-run-shopify-seo-ai-audit.html">how to run the Shopify SEO &amp; AI Audit</a>. For what the tool is and is not, see <a href="/blog/what-is-chatgpt-seo-check-shopify.html">what the ChatGPT SEO check actually is</a>.</p>
<p>Worked example: you are about to rewrite 40 product descriptions. You audit one bestseller first. Offer fails and GPTBot is Disallowed. You stop the copy sprint, unblock the crawler, restore Offer, re-audit, then rewrite. The descriptions now sit on a page a model can actually quote.</p>
<h2 id="what-good-enough-looks-like">What “good enough” looks like</h2>
<p>You do not need a perfect score to ship. You need the page type’s essentials:</p>
<ul>
<li><strong>Product:</strong> name, image, price, availability</li>
<li><strong>Homepage:</strong> shop identity and a way into the catalogue</li>
<li><strong>robots.txt:</strong> does not silence the bots you care about</li>
<li><strong>llms.txt:</strong> ideally present and useful, not empty fluff</li>
</ul>
<p>Schedule optional rows (missing llms.txt, extra FAQ markup) behind the gates. Discovery without readable markup is still a hobby.</p>
<h2 id="what-you-should-walk-away-with">What you should walk away with</h2>
<p>A useful free audit ends in a staffed list, not a feeling. You should have:</p>
<ul>
<li>Four URLs checked (home, collection, product, policy)</li>
<li>Reds copied into tickets with an owner</li>
<li>A crawler policy written in one paragraph (allow or deny GPTBot and the others on purpose)</li>
<li>A date to re-run after the theme or robots change ships</li>
</ul>
<p>Optional: a short llms.txt draft sitting with marketing until <code>/llms.txt</code> is live.</p>
<p>You should not walk away with a promised “AI ranking,” a collaborator request, or a 40-page deck. If a vendor will not show you the live-page fails before the contract, they are selling anxiety.</p>
<h2 id="common-mistakes">Common mistakes</h2>
<ul>
<li>Paying for a retainer before a free public-page pass</li>
<li>Auditing a preview theme you will not publish</li>
<li>Treating the list as a citation rank</li>
<li>Letting an agency run it on stores they do not have permission to check</li>
<li>Rewriting all product copy while Offer markup and robots.txt are still red</li>
</ul>
<p>After the list is green enough to ship, ask ChatGPT about the same product URL. If the answer is still wrong, you have a staleness or third-party-source problem — but you have already removed the excuse that your own page was unreadable.</p>
<aside class="appcta not-prose">
<img class="appcta__icon appicon" src="/assets/img/brand/ninety9-mark.png" alt="Ninety9 SEO and AI Audit" width="56" height="56" loading="lazy" decoding="async">
<div class="appcta__body">
<p class="appcta__name">Free ChatGPT SEO check for Shopify stores</p>
<p class="appcta__text">Paste a homepage, collection, product, blog, or store page. See whether schema, robots.txt, and llms.txt let ChatGPT read the page — then ask it yourself.</p>
</div>
<a class="btn btn--accent btn--sm appcta__btn" href="/chatgpt-seo/">Run the check<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
</aside>
<p>Run the free audit once before the next content sprint. Paste the homepage and a bestseller, ticket the reds, and only then rewrite — discovery without readable markup is still a hobby.</p>
<h2 id="faq">Frequently asked questions</h2>
<div class="faq">
<details><summary>Is the Shopify AI SEO audit free forever?</summary><div class="faq__a"><p>The public check on ninety9.dev is free and rate-limited. No credit card. Use it on the URLs you are authorised to check; merchants can opt out with a meta tag.</p></div></details>
<details><summary>Will it fix my theme for me?</summary><div class="faq__a"><p>No. It names what is missing so you or your developer can fix the theme, SEO app or robots.txt. Copy failing rows into a ticket; re-run the same URL after you ship.</p></div></details>
<details><summary>Does it replace Google Search Console?</summary><div class="faq__a"><p>No. Keep Search Console for indexing and queries. This check is for AI-readable markup and crawler rules on the URL you paste.</p></div></details>
<details><summary>Can agencies use the free audit on client stores?</summary><div class="faq__a"><p>Only on stores you are authorised to check. Merchants can opt out with a meta tag. Treat it as a public-page review, not a backdoor into admin.</p></div></details>
<details><summary>What is a free Shopify AI SEO audit?</summary><div class="faq__a"><p>It is a public-page pass/fail of whether models can fetch and understand a live Shopify URL: structured data for that page type, AI crawler rules in robots.txt, and optional llms.txt. It should not require collaborator access or a paid retainer to learn the basics.</p></div></details>
<details><summary>Which URL should I audit first?</summary><div class="faq__a"><p>Paste the homepage for shop identity, then a bestseller for price and availability markup. Add a collection and a policy page before you rewrite copy. Each page type has different essentials.</p></div></details>
<details><summary>What does “good enough” look like?</summary><div class="faq__a"><p>You do not need a perfect score to ship. You need the page type’s essentials: a product with name, image, price and availability; a homepage with shop identity; robots that do not silence the bots you care about; and ideally an llms.txt that points models at your best pages.</p></div></details>
</div>]]></content:encoded>
    </item>
  </channel>
</rss>
