How to create a giveaway entry form (with rules, sources and winner picks)

A giveaway entry form needs four things: the entrant's contact details, a quick eligibility check (age, location), agreement to your official rules, and a separate, optional opt-in for marketing. Add a closing date, a way to see where entries came from, and a plan for removing duplicate entries and picking a winner fairly. This guide walks through each part, with the exact questions to use, a build in FlowyForm and a free giveaway form template you can copy.
What to put on a giveaway entry form
Keep the form short. Every extra question costs entries, and most of what you need fits on a phone screen or two.
- Eligibility first: "Are you 18 or older?" and "Which country do you live in?" (or state or province, if your giveaway is regional). Ask these before anything else so ineligible people finish early.
- Contact details: first name, last name and email. Add phone only if you will actually use it to reach the winner.
- Social handle (optional): useful if you announce winners on Instagram or TikTok.
- Entry question (optional): "Which prize would you pick?" or a short creative answer. For a skill-based contest, this is the entry itself.
- Rules agreement: "I have read and agree to the official rules" with a link to them.
- Marketing consent: a separate, optional question. "Would you like to hear about future giveaways and offers?" Never make it a condition of entering.
- Ending screen: confirms the entry and says when the winner will be drawn and how they will be contacted.
That's it for most giveaways. Address, birthday and long surveys can wait until you have a winner.
Giveaway, sweepstakes or contest: why the wording matters
People use these words loosely, but in many places they are different things legally. A common way to describe the difference, used in US law, is to look at three elements: a prize, chance, and consideration (paying or buying to enter). The American Bar Association's overview of sales promotions, contests and sweepstakes explains it this way:
- A sweepstakes has a prize and a winner chosen by chance, with no purchase required to enter.
- A contest picks winners by skill (judging the best photo, caption or recipe).
- A lottery combines prize, chance and consideration, and private lotteries are generally illegal in the US.
Rules differ by country, state and province, and some places add requirements such as registration for larger prizes, a skill-testing question, or specific wording in official rules. Social platforms have their own rules too: Meta, for example, publishes promotion guidelines for Instagram, and other platforms have similar pages. This article isn't legal advice. Check the rules where you and your entrants live and on the platform you promote on, and talk to a lawyer for high-value prizes or multi-country giveaways.
Write your official rules before you build the form
The form is easier to build, and fairer, when the rules are settled. A typical set of official rules covers:
- Who is running the giveaway (your business name and contact)
- Who can enter: minimum age, countries or regions, exclusions such as employees and their families
- Start and end date and time, with a time zone
- How to enter, and how many entries each person may submit
- The prize, its approximate value, and whether it can be exchanged
- How and when the winner is chosen
- How the winner is notified, and how long they have to claim before you pick someone else
- How you use entrants' data, and a link to your privacy policy
Publish the rules on a page of your website and link to it from the rules agreement question.
How to build a giveaway entry form step by step
1. Start with eligibility and branch out the ineligible
Ask the age question as a yes/no. Use logic: if the answer is "No", go to an ending that says "Sorry, this giveaway is only open to people 18 and over." Do the same for location if you can only ship the prize to certain countries. This keeps your entry list clean without awkward manual sorting later.
2. Collect contact details
A contact info question collects first name, last name, email and phone in one step. Turn off the fields you don't need. If the prize is physical, you can still wait and ask the winner for a shipping address by email.
3. Add an entry question that fits the giveaway
For a simple random draw, a light question works well and gives you useful data: "Which prize would you love most?" or "How did you hear about us?". For a skill contest, the entry question is the main event: a caption, a short story, a photo upload. Explain the judging criteria right in the question.
4. Make the rules agreement required
A yes/no question, "Do you agree to the giveaway rules?", with a link to the rules page in the description. If someone answers "No", send them to an ending that explains they need to agree to enter.
5. Ask for marketing consent separately
Keep it optional and neutral. Growing your list is a fine reason to run a giveaway, but entrants should be able to enter without agreeing to marketing emails, and you should only email the people who said yes. Depending on where your entrants live, privacy and anti-spam laws may require this anyway.
6. Write the ending screen
Thank them by name with answer recall ("You're in, Sam. Good luck!"), repeat the draw date, and say how the winner will be contacted. Mentioning that you will never ask the winner to pay to receive a prize helps people recognize fake "you won" messages that impersonate giveaways.
7. Set the closing date or entry limit
Schedule the form to close at a date and time that matches your rules, or after a number of completed responses if you want to cap entries. Write a closed message that says the giveaway has ended and when the winner will be announced.
Track where entries come from with hidden fields
If you promote the giveaway in several places, hidden fields tell you which one worked. Add a hidden field called source, then share a different link in each place:
| Where you share it | Link |
|---|---|
| Instagram bio | yourform-link?source=instagram |
| Newsletter | yourform-link?source=newsletter |
| Partner's post | yourform-link?source=partner-name |
| In-store poster (QR code) | yourform-link?source=store |
Every entry stores the value with the response, so you can count entries by source in your sheet. You can also use a hidden field in logic, for example to show a store-only bonus question to people who scanned the poster.
Hidden fields can also carry a referral name (?ref=alex) if you want to see who brought in entries. Note that this only records the value in the link. FlowyForm doesn't track referrals or award bonus entries automatically, so if your rules offer extra entries for referrals, you'll count them yourself in the sheet. Values in a link can also be edited by anyone who sees it, so treat referral counts as a guide, not proof.
Preventing and handling duplicate entries
Most giveaways allow one entry per person, and some people will try to enter more than once. FlowyForm doesn't block duplicate submissions automatically, so plan to clean the list before the draw. That's normal practice anyway: even tools that block repeat emails can't stop someone using a second address.
Here is a simple process in Google Sheets, with each entry arriving as a row through the Google Sheets integration:
- Make a copy of the sheet for cleaning, so the original record stays untouched.
- Normalize emails. Add a column with
=LOWER(TRIM(C2))(where column C holds the email) so "Sam@Example.com " and "sam@example.com" match. - Flag repeats. Add a column with
=COUNTIF($D$2:D2, D2)>1. It marks every entry after the first for the same email as TRUE, so the earliest entry is kept. - Look for near-duplicates. Sort by name and by phone to catch the same person with two emails. Gmail ignores dots in addresses and delivers
name+anything@gmail.comto the same inbox, sos.am+win@gmail.comandsam@gmail.comare one person. - Remove or mark the duplicates according to your rules (keep the first entry, or disqualify the person if your rules say so).
If you are worried about bots, entries you can't contact, or hundreds of near-identical addresses, your rules should reserve the right to disqualify suspicious entries. Requiring a social handle that you check against your followers is another light filter.
Picking a winner fairly
For a random draw, the important thing is that the method is genuinely random, applied to the cleaned, eligible list, and documented.
- Filter the cleaned sheet to valid entries only (eligible, agreed to rules, not a duplicate).
- Add a column with
=RAND(), then copy that column and paste it as values so it stops recalculating. - Sort by that column. The top row is your winner, and the next two rows are your alternates in case the winner doesn't reply.
- Screen-record or note the time, the number of valid entries and the result, so you can show how the winner was chosen if anyone asks.
For a skill-based contest, use the judging criteria from your rules, have at least two people score entries independently, and record the scores. For creative contests with uploads and judging rounds, our guide on organizing creative contests with art submission forms covers judging workflows in more detail.
Then contact the winner the way your rules say, give them the claim window from your rules, and move to the first alternate if they don't respond in time.
After the giveaway
- Announce the winner where you promoted the giveaway, using their first name or handle only with their permission.
- Thank everyone who entered. A short note to opted-in entrants with a small discount turns disappointment into goodwill.
- Only send marketing to people who opted in.
- Delete the data you no longer need, such as phone numbers of non-winners. You can delete responses in FlowyForm and remove rows from your sheet. Our post on data privacy and security for online forms has more on collecting only what you need.
How to do this in FlowyForm
- Open the free giveaway form template. It already has the age check with an "18 and over only" ending, contact details, country, an optional social handle, a prize preference question, a bonus answer, the rules agreement and a separate marketing opt-in.
- Edit the prize choices, add the link to your rules page, and change the eligibility question if your minimum age or regions differ.
- Add a
sourcehidden field and create one link per channel. - Pick a theme, add your logo and a cover image of the prize.
- Set the form to close at your end date and time, or after a response limit.
- Connect Google Sheets for cleaning and the draw, and Slack if you want to watch entries come in.
- Share the link, embed it on your website, and download the QR code for posters or packaging.
All of this works on the free plan, with unlimited entries. Premium adds confirmation emails to entrants, a custom domain and removal of FlowyForm branding. If your giveaway is part of a wider list-building campaign, see the lead generation use case.
FAQ
How do I make a giveaway form for free?
Start from a giveaway template in a free form builder, add your eligibility questions, a rules agreement and a marketing opt-in, set a closing date and share the link. FlowyForm's free plan includes unlimited responses, logic, hidden fields and Google Sheets, which is everything a giveaway form needs.
Can I limit a giveaway to one entry per person?
You can state it in your rules and enforce it when you clean the list. FlowyForm doesn't block repeat submissions automatically, so remove duplicates in Google Sheets by email (and check names and phone numbers) before you draw.
How do I pick a random winner from a Google Sheet?
Clean the list first, add a column with =RAND(), paste it as values so it stops changing, and sort by it. The first row wins and the next rows are alternates. Record the process so you can show it was fair.
How do I close giveaway entries automatically?
Schedule the form to close at your end date and time, or after a set number of completed responses. People who open the link after that see your closed message.
Can I see which post or partner brought in the most entries?
Yes. Add a hidden field like source and share a different link in each place (?source=instagram, ?source=newsletter). The value is saved with each entry, so you can count entries per source in your sheet.
Do I need official rules for a giveaway?
In many places, yes, and platforms like Instagram and Facebook expect promotions on them to follow their own guidelines. Requirements vary by country, region and prize value, so check local rules and the platform's current guidelines, and get legal advice for larger prizes.
Should entering require signing up for my newsletter?
It's safer and fairer to keep marketing consent as a separate, optional question. You'll get a smaller but more engaged list, and you avoid problems with privacy and anti-spam laws that require freely given consent in many places.