tikklip

Playbook

How to pick a TikTok giveaway winner fairly

A winner pulled from a scroll is a winner nobody can check. Here is a draw you can show your audience, step by step, with the rules applied before anyone is picked.

October 22, 2026 · 6 min read

"Comment to win" is the easiest giveaway to run on TikTok and the hardest to prove was fair. Scroll, stop somewhere, announce a name: nobody watching can tell whether that was luck or a favour. A fair draw has three parts. Everyone who entered is on the list, the rules are applied before anyone is picked, and the pick itself is something your audience can check.

1. Write the rules before you post

Decide these up front and put them in the caption, because every one of them becomes a filter later:

  • What counts as an entry: any comment, or one that tags a friend.
  • Whether replies count, or only top-level comments.
  • One entry per person, or one per comment.
  • The deadline, with a time zone.

Check TikTok's own rules for promotions and the law where you and your entrants live, too. Some places treat a giveaway with a purchase requirement very differently from a free one.

2. Export every entry

After the deadline, paste the video link into the comment exporter and download the comments as an Excel workbook. Each row has the commenter's handle, the comment text and the time it was posted.

Know the limits before you promise anything. One export pulls up to 10,000 top-level comments, and replies only for up to 200 of the most-replied comments when you tick "Include reply threads". If your video has more comments than that, the export leaves some entrants out, and a draw from it is not fair to the people left out. Say "top-level comments only" in your rules, and keep giveaways that use this method to a size the export can cover.

3. Apply the rules in the sheet

  1. Deadline. Filter created_at to entries before the cutoff. The times are in UTC, so convert your deadline before you filter. TikTok occasionally leaves the time blank; decide in your rules whether those count.
  2. Tag a friend. If that was a rule, filter the text column to comments containing @.
  3. Replies. If only top-level comments count, keep rows where parent_comment_id is empty.
  4. One entry per person. Sort by created_at oldest first, then remove duplicates on author_unique_id, so each person keeps their first valid entry. Use the handle, not the display name, which anyone can change to look like someone else.
  5. Exclusions. Remove your own account, your team, and anyone your rules exclude.

Save a copy of the sheet at this point. This is your final entry list, and it is what makes the draw checkable.

4. Draw in a way people can check

Number the rows from 1 to the total, then pick one number at random. Any random number generator works, but the draw is only convincing if people can see it happen, so screen-record it: the entry count, the number drawn, and the row it lands on. In Excel or Google Sheets, =RANDBETWEEN(1, N) does the job, where N is your number of entries. It picks a new number every time the sheet recalculates, so record the first result and do not refresh to a better one.

When you announce the winner, post the number of valid entries and the number drawn. Anyone who asks can be shown the recording and the saved list. That is the whole difference between a fair draw and a lucky scroll.

5. Before you send the prize

Open the winner's profile and confirm it is the account that entered, not a lookalike with the same display name. Contact them from your own account, and be wary of anyone who messages your entrants claiming they won: impersonating the host is a common giveaway scam, and a public post naming the real winner is the best defence.

The same export is useful after the giveaway, too. The comments are a record of what your audience said when asked to engage; the method for reading them is in how to research TikTok comments for a campaign.

Comment exporter

Up to 10,000 top-level comments off any video, exported to CSV, Excel, or JSON with handles, likes, and replies.

Try it