Issue a single-use discount code to survey entrants
A completed feedback survey generates a unique WooCommerce coupon with a fixed discount and a one-use limit, tied to the shopper's email.
New Submission on your feedback survey form
Create a coupon in WooCommerce with a set discount and usage limit
One-directional. A submission triggers the action — nothing is written back into your form.
A discount is the usual thank-you for two minutes of feedback, and issuing codes by hand is what makes stores stop asking. Each completed survey generates its own code in WooCommerce, restricted to the address that filled the form in.
Post-purchase and in-store surveys are where this earns its keep. Every code is unique and limited to a single use, so one that leaks to a deals forum costs a single order rather than a weekend of margin.
Setting it up
- 1
Publish the survey and make Email Address required. A coupon restricted to nobody is a coupon anybody can redeem.
- 2
Settle the reward before building anything: percentage or fixed cart discount, the amount, and whether it may be combined with items already on sale.
- 3
In Zapier, pick formformform and the New Submission trigger, then choose the feedback survey form.
- 4
Add a Zapier Formatter step that builds the code itself — a fixed prefix such as THANKS plus a random string — so no two entrants can end up sharing one.
- 5
Add the WooCommerce Create Coupon action, connect the store, and paste the generated code from the Formatter step into the coupon code input.
- 6
Set the discount type and amount, usage limit per coupon to 1, and an expiry a few weeks out so unredeemed codes clear themselves rather than sitting in the coupons list forever.
- 7
Put Email Address into the coupon's allowed emails restriction, and map Name into the coupon description so support can see at a glance who a code belongs to.
- 8
Add a final email step that sends the code to the entrant — WooCommerce does not email coupons on its own — then test end to end and turn the Zap on.
What maps where
Using the Customer Feedback Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | WooCommerce |
|---|---|
| Email Address | Allowed emails restriction on the coupon, and the address the code is sent to |
| Name | Coupon description, so staff can see who it was issued to |
| Overall Satisfaction | Zapier path that decides which discount amount to create |
| What could we improve? | Coupon description, keeping the comment with the code |
Variations worth knowing
Branch on "How likely are you to recommend us to a friend or colleague?". Low scores skip the coupon action entirely and go to your support inbox, because somebody who has had a bad experience wants a reply first. High scores carry on to Create Coupon as normal.
Set the coupon's exclude-sale-items restriction in the action, and list the product categories the code may be used against. The reward then applies to full-price lines only, which keeps the promotion from stacking on top of a clearance run you are already discounting.
If something isn't arriving
The allowed emails restriction compares against the billing email typed at checkout, not the account they are signed into. A guest checking out under a second address will be refused. Either drop the restriction and rely on the single-use limit, or tell entrants which address to use.
Codes are unique in WooCommerce and are stored lowercase. A fixed prefix with no random component collides on the second entrant. Check the Formatter step is generating a fresh string on every run rather than reusing a value from your test.
Frequently asked questions
Can one person enter repeatedly and collect several codes?
They can, unless you stop it. Add a Zapier filter or a lookup step on Email Address so a second entry from the same address does not reach Create Coupon. The allowed emails restriction limits redemption anyway, but it will not stop the codes being made.
Does the code appear on the thank-you screen after submitting?
No. The connection only runs outwards: the submission triggers the coupon action, and nothing is written back into the form. The entrant receives the code from whichever email step you add after the WooCommerce action in the same Zap.
Do the survey answers themselves end up in WooCommerce?
Only what you map into the coupon description. The full responses stay in formformform, where they can be filtered, searched and exported. Most stores keep the coupon record small and read the feedback where it was collected.
Related automations
- Add a made-to-order build to the catalogue as a draft
Every build request creates a draft WooCommerce product carrying the item name, its part number as SKU and the full specification.
- Draft a wholesale order from a bulk buying enquiry
Each wholesale request lands as a pending WooCommerce order with the requested line items and the buyer's billing details attached.
- Hold pre-orders as on-hold orders before a launch
Every reservation becomes an on-hold WooCommerce order with the chosen variation and quantity, so launch day starts with a real queue.
- Log a return request against the customer's record
Each return request finds or creates the customer in WooCommerce and records the reason and order number as a note staff can act on.
- Turn a loyalty signup into a store customer account
Each loyalty signup creates a WooCommerce customer with billing name, email, phone and mailing address already filled in.
- Add a wholesale lead to your Shopify customers
Each wholesale application creates a Shopify customer with the business name, buyer contact and address already filled in.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free