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.
- It will not give a different reward for a different rating, score, reading or decision: the reward is decided when the testimonial is sent, before anyone at your business sees it, and a check sends one star and five stars through the real route to prove they get the same.
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: its recorded permission sentence, scopes, date and source. For a customer submission, the sentence records what the person agreed to here. Imports, connected feeds and API additions carry an account holder statement instead; they do not claim the writer agreed here. These records are included in your CSV export.
Which permissions does Hazelsong actually enforce?
There are four separate choices: your website, public pages hosted by Hazelsong, social media, and ads or printed material. Website widgets and the testimonial API require website permission; public hosted walls require hosted permission, plus publication enabled by a verified project owner. Social images and clips require social permission. Approval alone grants none of these, and missing scopes grant no permission. Ads and printed material are made outside Hazelsong, so that answer is recorded for you to honor rather than enforced by an advertising channel here.
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. Hazelsong checks the recorded website, hosted-page and social permissions when serving those respective channels.
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.