How it works
Incentives, step by step
A fixed reward, or a wheel
Either the same thing for everybody, or a wheel with the prizes you set. The wheel is drawn on the server, so the result is not something a page can be persuaded to change.
The person is told before they write
What is on offer is on the form, above the box, not revealed afterward as a surprise.
The disclosure follows the testimonial
Every widget, every wall, the social image, the API — all of them carry the line saying a reward was given. It cannot be removed from one copy and left on another.
Safe by design
The rule that makes it safe to have
Clear boundaries
What it will not do
Every capability page ends with this list. It is the part that says what you are actually buying.
- It will not let you publish an incentivized testimonial without saying so.
- It will not pay somebody for a five-star rating — the reward is for writing, never for what was written.
- It does not decide whether an incentive is legal where you are. The FTC's rule on endorsements is the reason the disclosure exists; your own regulator may say more.
Where it lives in the code: lib/forms.ts · app/api/testimonials/route.ts · lib/consent.ts
Questions
Asked about this
From Help, where every answer is written from the product as it runs.
Where is the consent kept?
Beside the testimonial: the exact sentence your customer agreed to, the scopes they checked off, and the date. All of it comes out in your CSV export, which is the form you would want it in if anybody ever asked you to show it.
Which of the three permissions does Hazelsong actually enforce?
Two of the three, and the difference is worth knowing before you rely on it. Your website and your social media are places Hazelsong itself publishes, so those answers are enforced on every request: a testimonial that did not allow your website is not served by a widget, a wall or the API, on any plan, however many times it is approved, and the same goes for a social image or a clip. Advertising is not a channel Hazelsong has — ads and printed material are made by you — so that answer is recorded and handed to you rather than enforced. The collection form tells your customer exactly that, in those words, before they check anything.
They checked off website but not ads. What happens if I use it in an ad?
Nothing here stops you, because nothing here places ads. What the product does is keep the answer where you can find it: the consent sentence on the card names only the places that person allowed, and your CSV export lists what they checked off — which is the form you would want it in if they, or anybody else, ever asked what they had agreed to. The decision, and the responsibility for it, are yours. If you want a permission that holds on its own without you having to remember it, that is the website and social media permissions.
Does the API respect the website permission too?
Yes, and that is on purpose: an integration reading your testimonials is a publishing pipe. /api/v1/testimonials filters on website permission and says in its own answer that it did.
This is running now
Open a project and use it. Nothing on this page is a roadmap.