Same Product, Two Prices: The Ethics and Mechanics of Testing Offers on Different Audiences
Testing $27 on Instagram and $37 on email feels sneaky until you know the one rule that keeps it fair.
Here's a scenario that happens constantly and almost nobody talks about out loud: a creator sells the same Notion template for $27 to a cold Instagram audience and $37 to their email list, or runs a TikTok link at one price while the same product sits at a different price on their main storefront. The moment you say it plainly, it sounds like a scam. But peel back the discomfort and you'll find this is just price testing with a traffic-source variable added — something retailers, airlines, and SaaS companies do every single day. The difference between "smart segmentation" and "getting caught ripping people off" isn't the tactic itself. It's whether anyone who paid more can ever find out and feel foolish about it. Get that one thing right and the rest is just math.
Why this feels wrong (and why it usually isn't)
Airlines have run this playbook for decades: the same seat costs different amounts depending on when you booked, which device you used, and how the algorithm reads your intent. Nobody calls that fraud because everybody accepts the seat's price was never fixed. Digital creators have more moral high ground with their audience than an airline does, which is exactly why the reaction to price testing feels sharper. Your buyer thinks of you as a person, not a yield-management system. That's precisely why the rule matters: test all you want, but never let the same person, on the same link, discover they paid more than someone else for the identical thing at the identical moment.
The good news is you don't need a shady dual-checkout setup to do this responsibly. Most of the legitimate ways to test price by audience are already built into how a storefront like store.fan works: different links for different platforms, discount codes tied to specific campaigns, and time-boxed launch pricing that changes for everyone at the same moment rather than for one segment quietly.
The one rule that keeps it fair
Everything else downstream follows from that one sentence. It means you separate by time (test price A this week, price B next week, never simultaneously on the same link), by bundle (the $27 version is template-only, the $37 version includes a bonus walkthrough — they're technically different products), or by channel with a real reason (a launch-week discount code shared only in your email, versus full price on your public store.fan page that anyone can land on from any platform). What you don't do is quietly hard-code a higher price into your Instagram link and a lower one into your TikTok link for the identical product with no visible justification, hoping the two audiences never compare notes. That's the version that ends up as a viral "look what this creator did to me" post.
Four legitimate ways to test, ranked by risk
| Method | How it works | Risk level |
|---|---|---|
| Time-boxed launch pricing | Everyone pays $27 during launch week; price rises to $37 for everyone after — a discount code makes the cutoff clean | Lowest — fully transparent, standard practice |
| Bundle differentiation | Base product at $27, base + bonus call or template pack at $37 — technically different products, not the same thing at two prices | Low — as long as the bundle is real and delivered |
| Channel-specific discount codes | A code only shared in your Instagram bio or Stories, tracked and time-limited, versus your evergreen store.fan price | Medium — fine if the code is visibly a discount, not a hidden markup |
| Simultaneous silent price split | Two live, unlabeled prices for the identical product shown to different audiences with no code, bundle, or time difference | Highest — avoid this; it's the version that damages trust |
Notice the pattern: the safe methods all have a visible, explainable reason a customer would accept if you told them directly. "You bought during launch week" and "you had a discount code" are things people say to friends without flinching. "I show different people different prices for the same thing with no explanation" is not.
How to actually run the test on store.fan
If you haven't yet, create your store and set up the product you want to test — it takes a few minutes and every plan lets you list a product and start selling. Once your product page is live, here's a clean sequence for a channel test that respects the one rule above.
- 1Set your true, standing price on the product page — this is the price anyone landing organically will see, so make it one you're comfortable defending publicly
- 2Create a discount code reserved for a specific channel or moment (a 'first 48 hours' code for your email list, or a 'link in my Story' code for Instagram followers)
- 3Set an expiration date or a redemption cap on the code so the test has a clear end – open-ended discounts stop being tests and start being your real price
- 4Track each code's conversions separately using your customer list, so you can see which price actually moved more units, not just which one felt better
- 5Pick a winner within one or two weeks and retire the losing price everywhere — don't let two versions linger side by side indefinitely
This works because a discount code is inherently self-explaining. Nobody who redeems 'WELCOME10' feels tricked when a stranger pays full price later — they got a deal, and deals expiring is expected. Compare that to a buyer discovering the checkout itself charges different base prices depending on referral source with zero code involved; that's the setup that generates screenshots and DMs asking 'wait, why did I pay more?'
Before you launch a price test, confirm:
0/5A discount feels like a gift. A hidden markup feels like a betrayal. Same price gap, opposite reaction — the only variable is whether the buyer could have seen it coming.
What to do when someone notices
Even a well-run test occasionally surfaces an awkward DM: someone compares notes with a friend and finds a $10 gap. Handle it the way you'd want handled if the roles were reversed — acknowledge it, explain the launch window or code, and offer to match the lower price without being asked twice. It costs you one refund and it converts a trust risk into proof you run an honest shop. If you're unsure how to handle a specific edge case, contact support — and if you want to see how a real, transparent storefront presents pricing, a live example store is worth a look.
Why bother testing at all
It's tempting to skip all this and just pick a price forever. But creators who never test are leaving money on one side or losing sales on the other, and never find out which. A $10 gap tested honestly across two real cohorts — your warm email list versus cold Instagram traffic — tells you something concrete: maybe your email audience trusts you enough to pay a premium, or maybe cold traffic needs a lower entry point before they'll say yes to anything. Either answer is only learnable by testing, not guessing. That's the point — not to squeeze more out of anyone, but to find the price each relationship can honestly support.
This is also where a proper storefront setup pays for itself. Discount codes, a customer list you can segment by how someone found you, and clean product pages that update everywhere at once are standard tools on store.fan, and they're what make an honest version of this test possible in the first place. Check the pricing page to see which plan covers discount codes and customer tracking for your stage, and if you're new to any of this, the FAQ covers the mechanics of setting up codes and tracking sales in more detail.
Generally yes, in most consumer contexts this is legal price discrimination and is common practice across retail, travel, and software. It becomes a problem when it's deceptive — for example, misrepresenting a price as a limited-time deal when it isn't, or hiding a markup with no honest explanation if a customer asks.
Use a time-boxed discount code. Set your standing price, create a code for a specific window or channel, and let the code itself do the explaining. It's the lowest-effort, lowest-risk version of a price test and it's built into a normal store.fan checkout.
Yes, briefly and without over-explaining. Acknowledge the gap, explain the reason (launch window, code, bundle difference), and offer to match the better price. Most people accept this instantly — what damages trust is defensiveness or silence, not the original price gap.
One to two weeks is usually enough to see a real conversion pattern for a single digital product, especially if you're pushing traffic to it via posts or Stories during that window. Longer than a month and you're no longer testing — you've just quietly created two permanent prices, which is the exact setup to avoid.
It works better the more audience segments you actually have — a cold platform audience, a warm email list, and repeat buyers usually all have different price sensitivity. If you're just starting out, focus first on getting your one price right; you can read more tactics like this across the blog as your audience segments become more distinct.
Set up discount codes and a real customer list so you can test pricing the honest way, not the sneaky way.
Start freeTurn your knowledge into income
Launch your Store.Fan in minutes — sell digital products, courses, and calls straight from your bio. Free to start.



