How to Sell Samples on Shopify: Variant, Separate Product, App or Custom Build
On Shopify you sell samples as a variant, as a separate linked sample product, or through a dedicated sample flow with its own caps, kits and fulfillment. This guide covers where native Shopify stops today (variant and option limits, retired Scripts, Functions plan rules, store credit) and when an App Store app or a custom build takes over.
How to sell samples on Shopify
There are three ways to sell samples on Shopify: as a variant on the full-size product, as a separate sample product linked to the full-size product, or through a dedicated sample ordering flow (an App Store app or a custom storefront tool) with its own caps, kits and fulfillment.
Sample as a variant is the simplest model to run in-house and suits catalogs with few options per product. Products can now carry up to 2,048 variants but still only three options, so “Sample” competes with color, size and finish for an option slot.
Sample as a linked product suits brands with many colorways, or brands that want separate sample SKUs, inventory and reporting. The full-size product points to its sample.
A dedicated sample flow suits brands with kits, per-customer caps, trade-only free samples or separate 3PL routing.
Real catalogs often mix models. One plaster brand we work with ran some samples as variants of one product and broke many colors out as their own products, because its colors and finishes ran past the variant limit of the time. Choose a model on purpose before you redesign the product page.
The short version: few options and no caps, use a variant. Many colorways or separate fulfillment, use a linked product. Caps, kits or trade rules, use a dedicated flow.
Sample as a variant or a separate product
The choice between a sample variant and a sample product decides how sample inventory is tracked, how samples show up in reporting and collection filters, and how the sample button appears on the product page.
What the variant limits allow now
Since October 15, 2025, products can have up to 2,048 variants, up from 100, on all Shopify plans. The three-option limit still stands, so a brand already using color, size and finish has no room for “Sample” as a fourth option.
The theme is the other ceiling. Theme Liquid returns at most 250 variants per product, so older themes may break above 250 variants, and Shopify admin may warn about theme compatibility on those products. Check the theme before you consolidate.
Consolidating can work. When one store gained more variant capacity, we merged its separate sample products into one product carrying all the variants. That is an option, not a rule.
Separate sample products, linked to the full-size product
The clean link is one metafield on the full-size product naming its sample, plus a tag or flag on the sample that decides whether it is paid. One tile store we work on had two overlapping metafields, one for free samples and one for paid. Products had drifted into the wrong field, and one field was maintained by hand. One association field and one paid/free flag ended the confusion.
Combined Listings can group separate products, but the Combined Listings app is only on Plus and enterprise plans. Combined listings sell only through the Online Store channel, and parent listings cannot be bought and have no inventory or sales data.
The trade-off is plain. Variants keep reporting inside one product; separate products give samples their own inventory, SKU, shipping and reporting.
Free samples on Shopify without abuse
Free samples need hard limits enforced in the cart. A free sample button with no cap gets used as a free product.
Scripts are gone; limits run on Functions
Shopify Scripts stopped executing entirely on June 30, 2026, after editing and publishing ended April 15, 2026. Any Scripts still published were deactivated, so a sample cap built on Scripts no longer runs.
Cart and checkout validation Functions are now the native way to enforce quantity limits, and a store can activate at most 25 of them. Custom apps containing Function APIs require Shopify Plus; public App Store apps containing Functions work on any plan.
Decide what counts toward the cap
Write the counting rule down before anyone builds it. On one tile store, a discounted paid sample sat awkwardly against the free-sample counter and let customers add one more sample than intended. Decide whether caps count all samples or only free ones, per order or per customer.
Identify sample lines with a single signal. One store treats any line item whose SKU starts with “S-” as a sample, so caps, emails and reporting all read the same prefix.
Per-customer caps and trade-only free samples depend on knowing the buyer: logged-in customers, or an app that tracks order history. We do not cover here how Shopify handles a fully free checkout (address, shipping and payment collection), so test it on your store before launching free samples. If you cannot enforce a cap, charge for samples and credit the fee back.
Charging for samples and crediting the order
A small sample fee, credited toward the full order, cuts waste and keeps the sample button attractive.
Discount codes and automatic discounts
With Scripts gone, discount logic runs on Discount Functions, and the 2026-04 API supports multiple product discounts on a single cart line. We have not confirmed whether a sample credit stacks with other product, order or shipping discounts on the later order, so test your combination rules before you promise it.
Keep pricing logic in one flag. On one tile store, the sample product's paid-sample tag decides whether it is paid and whether a discount applies, so there are no duplicate free and paid products.
Store credit as the sample credit
Store credit requires new customer accounts. Legacy customer accounts don't support it, and no plan restriction is stated. Customers can spend it through the Shop app and Shop Pay whether or not they are logged in.
Shopify Flow is free on Basic, Grow, Advanced and Plus, but we found no native Flow action for store credit. Flow's Send Admin API request action can call most Admin API mutations. Forum reports suggest it works for store credit; that is not officially documented.
The simplest version is a one-time code sent after the sample ships. Store credit is cleaner for repeat buyers on stores already running new customer accounts.
Shipping samples separately from full orders
Samples ship in envelopes at flat rates; tile and bulk paint often ship by freight. The store has to keep the two apart in rates, carriers and fulfillment.
We do not detail here how Shopify shipping profiles rate mixed carts, or how order routing and multiple locations work by plan. Check Shopify's Help Center on shipping profiles, and ask your 3PL how it handles them today.
Decide early which system owns sample fulfillment. One tile brand ships samples through ShipStation while full-size orders follow a different path. When it added a dedicated sample carrier service, the plan kept the existing LTL freight rates app for full orders and switched off the base sample rates inside that app.
Then test mixed carts. On one real order, a customer combined one full-size tile and one sample and was still offered the expedited shipping meant for samples. List every mixed-cart case in QA before launch: sample only, full-size only, both, and both with expedited selected.
Set expectations with a short sample-shipped email that says the sample is on its way and roughly when it arrives, separate from the full-order shipping email.
How tile and paint brands sell samples online
Tile, paint, wallpaper and fabric brands sell samples because buyers need to see color and texture in their own light before a large order. The format follows the category: tile chips and full-size sample tiles, paint swatches, sample pots or peel-and-stick swatches, wallpaper cuttings, and fabric swatches, sample boards or kits.
When color already takes an option, the three-option limit decides whether sample size or format can be an option too.
Stock and special-order collections usually need different rules. On one tile collection, sampling a special-order color added a paid stock sample tile plus a free swatch of the special-order color. Decide per collection what gets sampled, whether it is free or paid, and what lead time the buyer sees.
Size is another lever. One pattern pairs a larger paid sample for shape with a free small one for color. Trade and designer accounts often get free samples or a higher allowance; homeowners pay or get fewer.
We build for these categories. Our work for tile and paint brands, including Zia Tile, Portola Paints and BSD Haus, shows what that looks like.
Turning sample orders into full orders
A sample program pays off only when sample orders become full orders, and that path has to be built and measured.
Follow-up and project planning
Send a timed email after delivery with the sampled colors, a link to a quantity calculator (one of the storefront tools we build as custom apps), and the sample credit if you offer one. Identify sample orders by a SKU prefix such as “S-” so flows trigger on the right orders.
Buyers who decide room by room often come back weeks after the samples land. Our B2B Wishlist Project Planner app holds their choices between sample and order: logged-in customers save products into multiple project lists grouped by room, set quantities, share the list and add it all to cart. It does not set pricing; your team applies pricing on the draft order. PDF quotes and converting a list to a draft order are on the paid plan, not Free. Other wishlist apps, or plain Shopify draft orders, cover parts of this too.
Trade buyers who plan by job usually end on a draft order with freight and trade pricing. Flow's Order created trigger also fires when a draft order is marked paid and converted to an order, so tagging and follow-up still run, and Flow is free on Basic, Grow, Advanced and Plus.
Measuring sample-to-order conversion
We found no native Shopify report for sample-to-order conversion. The workable approach: tag sample customers and sample orders, then compare that segment's later full-size orders against everyone else's.
Sample ordering app or custom build
An App Store sample app is enough when the program is one sample per product, a simple cap and normal shipping. A custom build earns its cost when the rules depend on customer type, kits, separate fulfillment or an ERP.
The plan rule often decides it. Public App Store apps containing Functions work on any plan, while custom apps containing Function APIs require Shopify Plus. Validation has a budget too: a store can run at most 25 validation functions, so count what is already active before adding sample limits.
Signals that point to a custom build
- Free samples for trade accounts only, paid for everyone else
- Kits assembled from many SKUs
- Per-customer limits that count across orders
- Samples routed to a separate 3PL or carrier service
- NetSuite or ERP sync, with sample logic driven by product metafields and tags
Sample ordering is one of the storefront tools we build as custom Shopify apps, alongside NetSuite, 3PL, warehouse and freight carrier integrations. We build on Shopify's APIs only, and the brand owns the app and its code. Cost depends on scope; our pricing page shows how builds, sprints and fractional teams are priced.
Questions we get
Can I still use Shopify Scripts to limit free samples?
No. Scripts stopped executing entirely on June 30, 2026, after editing and publishing ended April 15, 2026, and published Scripts were deactivated. Caps now run on validation Functions, up to 25 per store. Public App Store apps with Functions work on any plan; custom apps with Function APIs require Plus.
How many variants can a Shopify product have now?
Up to 2,048 since October 15, 2025, on all plans, with a maximum of three options. Theme Liquid returns at most 250 variants per product, so older themes may break above that.
Does store credit work for sample credits?
Yes, on new customer accounts. Legacy customer accounts don't support store credit. Customers can spend it through the Shop app and Shop Pay, logged in or not. Flow has no native store-credit action; the Send Admin API request action is the workaround.
Can Combined Listings group separate sample products?
Only on Plus and enterprise plans. Combined listings sell only through the Online Store, and parent listings cannot be bought and hold no inventory or sales data.
Do I need Shopify Plus to cap samples per order?
Not if the cap comes from a public App Store app, since those can use Functions on any plan. A custom app with Function APIs needs Plus, and every store is limited to 25 validation functions.
A sample program needs an owner after launch. Our fractional Shopify team works like any other remote member of your team, in your Slack and on calls when you need us, with one accountable lead running the caps, kits, Klaviyo follow-ups and testing on the sample button. Most of our build clients stay on this way after launch. Tell us about your sample program.
Our B2B apps
Built for wholesale on Shopify. Three apps from the team behind this article.
Wholesale
B2B Onboarding & Wholesale
Wholesale registration with approval, buyer documents, and B2B pricing on any Shopify plan.
Wishlists
B2B Wishlist Project Planner
Multiple wishlists with quantities, sharing, PDF quotes, and draft orders for project buyers.
Invoices
B2B Draft Order Invoices
Customers view and pay draft order invoices from their account, with reminders and POS support.
Need something the apps don't cover? We build custom B2B features for Shopify stores.Talk to us about custom development