Free Samples

Let creators request a product to try, approve the ones you want, and have Shopify ship it.

Free samples let a creator ask you for a product before they post about it. You decide who gets one, and Cruva can put the approved sample into Shopify as an order so your normal fulfillment ships it — no re-typing an address.

Samples are turned on per campaign, in the Products step of a Shopify campaign.

How it works

  1. A creator asks. On your campaign page they pick a product and press Request sample. If the product comes in several shades or sizes they choose one, and they give a shipping address the first time. Only you see the address.
  2. You decide. Requests land in Shopify ▸ Samples, where you accept or decline each one. You can also approve every request automatically — see below.
  3. It ships. If Cruva is creating the Shopify order, the approved sample appears in your orders and your usual fulfillment picks it up. Otherwise you ship it yourself and enter tracking by hand.
  4. The creator confirms it arrived. Delivery is theirs to confirm — we don't track parcels, so nobody guesses on their behalf.

Limits

Two optional caps, both blank by default:

  • Samples per creator — the most one creator can hold on this campaign. Anything not declined counts, including ones already delivered.
  • Samples approved in total — once reached, new requests wait for you instead of being approved automatically.

Approving automatically

Switch on Approve every request automatically and requests skip your queue entirely, up to the limits above.

One thing to expect: when Cruva is also creating the Shopify order, an automatically approved sample gets its order on our next run rather than the instant the creator asks — usually within about fifteen minutes. A manually approved one is created as you press Approve.

What the Shopify order looks like

Cruva creates it as a draft order and completes it, so it behaves like any other order in your store. Specifically:

  • It is tagged cruva-sample, so you can find or filter every sample you have ever sent.
  • The total is 0.00, and Shopify marks it Paid — a zero total is considered settled, so this is normal and does not mean anyone paid anything.
  • The product's usual price is recorded as a discount. This is the one that surprises people: your discount total grows by the value of everything you give away, and sample orders add to your order count at zero revenue. If you read your own Shopify numbers, expect that.
  • No email is sent to the creator by Shopify. They hear from you through Cruva, not through an order confirmation.

Permission

Creating orders needs one extra Shopify permission, write_draft_orders. Cruva asks for it in context the first time you turn the switch on, and you grant it inside your Shopify admin. Until it is granted, approvals still work — the sample just waits for you to ship it by hand, and we say so on the request.

If you see "This store needs to reconnect first", your store installed Cruva before this feature existed. Reconnect Cruva from your Shopify admin and the permission will be offered.

"In progress" in Shopify but "Ready to ship" in Cruva

If the product is fulfilled by a third-party service, pressing Request fulfillment in Shopify hands the order to that service and shows In progress. Nothing has actually shipped yet, so Cruva still says Ready to ship — and it will keep saying that until the service completes the fulfillment.

That is the two systems agreeing, not disagreeing: Cruva moves a sample to Shipped when a fulfillment actually exists, with its tracking number. For a product you fulfill yourself, use Fulfill item and the sample moves across on our next pass.

Messages to the creator

Two optional messages, both off by default, sent in the creator app:

  • When the sample is approved — useful for setting expectations before tracking exists.
  • When the sample is delivered — sent after the creator confirms it arrived.

If a sample did not reach Shopify

The Samples tab shows Not posted to Shopify on any request whose order could not be created, with the reason and a Try again button. The most common causes are the missing permission above, or a product with several variants where the request did not name one.

Was this article helpful?

Related articles