The viral contests app designed for Shopify
Search for the articles here or browse the categories below.
Browse by topic
Find guides, tutorials, and answers organised by category.
Getting Started
Install UserLoop Contests, create your first contest, and understand the dashboard.
Contest Setup
Configure contest details, prizes, entry settings, rules, and lifecycle status.
Design & Customization
Customize contest colors, images, logos, buttons, and post-entry messaging.
Sharing & Distribution
Publish contests through standalone pages, theme blocks, embeds, and QR codes.
Bonus Entry Actions
Use Pro actions for referrals, social follows, uploads, questions, and secret codes.
Entries & Winners
Review entries, select winners, and export contest data.
Integrations
Connect UserLoop Contests to Klaviyo and AI tools through MCP.
Billing & Plans
Understand Free and Pro limits, upgrades, subscriptions, and feature access.
FAQ & Troubleshooting
Fix common setup, storefront, entry, winner, export, and integration issues.
Popular articles
What other people are reading right now.
Entry Settings
Entry settings control the information customers provide, marketing consent, and how many chances one person can earn from the base form. Configure the form 1. Open the contest editor. 2. Go to Build. 3. Expand Entry form. Email is always required. For First name and Phone number, choose: - Don't collect β the field is not shown. - Optional β the field is shown, but the entrant can leave it blank. - Required β the entrant must complete the field before submitting. Required fields are checked both in the storefront form and when the entry is submitted. Phone numbers must contain text, but UserLoop does not impose a country-specific format. Entrant contact information is encrypted at rest. Marketing consent (Pro integrations) When a Pro marketing integration is active, use Marketing consent to control: - Show email marketing opt-in and its consent text. - Show SMS marketing opt-in and its consent text. Opt-ins are optional, unchecked, and shown only while an active Pro integration needs them. Connecting Klaviyo or Campaign Monitor enables email consent on existing contests. Connecting Omnisend enables both email and SMS consent. Contests created while those integrations are active inherit the required controls. You can edit the consent text for each contest. Connected-integration warnings identify controls currently used by an email or SMS audience. If you turn one off, entrants may not be added to that audience. A Photo upload action can reuse the contest's email consent text in its vote form. Enable Require email to vote, then Ask voters for marketing consent. The checkbox remains optional and unchecked; only voters who select it are sent to active Pro email integrations. SMS subscription requires the contest to collect a phone number and the entrant to provide it and select the SMS opt-in. UserLoop never treats an unchecked control as marketing consent. See Photo Contests and Public Voting for voter consent, plus Klaviyo Integration, Omnisend Integration, and Campaign Monitor Integration. Entries per person Set a limit from 1 to 10. The system keeps one entrant record per email address. If the same address submits again before reaching the limit, its total entry count increases instead of creating a duplicate record. When the limit is reached, the customer is told they have already entered. Bonus actions can add further entries to the same entrant record. Random winner selection is weighted by the total entries earned, so three entries provide three chances compared with one chance for a single entry. Display and button text The Entry form step also lets you: - Change the submit button text. - Show or hide prizes. - Show or hide contest dates. - Show or hide the terms link. Custom text (Pro) Pro stores can open Design > Custom text to override translated labels, placeholders, validation messages, status notices, success copy, and action text. Leave a field blank to keep the built-in translation for the selected contest language. Where an override shows variables such as {{date}}, {{start}}, {{end}}, or {{count}}, keep the variable in the text so the correct live value can be inserted. Custom text applies to the standalone page, popup, and form block. A button or success-message override configured directly in a theme block takes precedence for that block. Use Design to preview the result on desktop and mobile and across standalone, popup, and app-block surfaces. Winner selection For a fixed-date contest, choose the final winner after the contest ends in Results using random draw, manual selection, or most votes for an eligible photo contest. For an ongoing contest, confirmed entrants remain in later scheduled draws until they win, and their total earned entries continue to weight each random draw. See Ongoing Contests.
π Getting StartedDashboard Overview
The dashboard gives you a quick view of contest performance, work that needs attention, product releases, and direct access to your contests. Mobile Contests dashboard showing the What's new bell, Needs attention tasks, status filters, and Live, Scheduled, and Paused badges Your first-contest banner When the store has no contests, the dashboard shows Create your first contest with three steps: Choose a template, Add your prizes, and Publish and share. Click Create contest to begin. The storefront setup banner appears after a contest exists and only when neither the popup nor an app block has been configured. Archived contests do not count as an active onboarding contest. Overview metrics The cards at the top show: - Active contests β contests currently activated in the app. - Total entries β entries across all contests. - Entries in the last 30 days β recent acquisition. - Average conversion β entries divided by tracked views for activated contests. What's new Click the bell beside Overview to open recent UserLoop Contests release notes. A red dot means there are unread releases. Opening the panel marks the current releases as seen; choose a release to read it or click View all releases. Needs attention This section appears only when a contest is waiting on you. It can show: - Select winner β a fixed-date contest has ended, has at least one confirmed entry, and no winner decision has been recorded. - Confirm draw winner β an ongoing contest has a proposed winner waiting for your decision. Open Results to accept or redraw. - Set up prize delivery β a Pro store has an active winner whose delivery setup is incomplete. - Activate bonus actions β a running Free-plan contest has actions that are paused for entrants. This task links to Upgrade to Pro. - Approve photos β a contest with manual photo approval has submissions waiting before they can appear in the public gallery. Click Review photos to open the moderation queue. Click Review winners for winner and delivery tasks. When Activate bonus actions is the only task, click Upgrade to Pro to open Your Plan. Free stores do not see the prize-delivery task because automated winner delivery is a Pro feature. Grandfathered contests whose actions remain live are not flagged for activation. Finding contests Use the filters above the contest list: - Active β in-progress work, including cards labelled Live, Scheduled, Draft, or Paused. - Ended β contests whose end date has passed or that were ended manually. - Archived β contests hidden from the normal workflow but retained for reference. - All β every contest. Each tab shows its contest count, and the toolbar shows how many rows are currently visible. An activated fixed-date contest whose end date has passed appears as Ended immediately, even while the stored status is being updated in the background. Each contest card shows its display status, schedule, entries, views, conversion rate, and enabled storefront channels. An ongoing card shows Ongoing Β· next draw with the date instead of a final end date. Photo contests can also report whether their Photo gallery block is installed. Popular templates The dashboard highlights useful templates so you can create a new contest from a proven starting point. Click a template to preview it, then use it as the basis for a fully editable contest. Contest card actions On phones and touch devices, the primary card shortcuts stay visible in a full-width row, so you do not need to hover over the card. Depending on the contest status, a card can provide shortcuts to: - Preview the customer experience. - Edit the contest in the full-screen editor. - Open Entries or Winners in Results. - Activate, Reactivate, or Deactivate the contest. - Duplicate it as a new draft. - Archive it without deleting its data. Click Create contest at the top of the dashboard whenever you want to start from a template or create a blank contest. See Contest Lifecycle for details about Live, Scheduled, Draft, Paused, Ended, and Archived contests. See Bonus Entry Actions for the paused-action workflow. See Photo Contests and Public Voting for the approval queue and gallery workflow. See Ongoing Contests for scheduled draws and proposed-winner decisions.
π IntegrationsMCP Integration
The Model Context Protocol (MCP) integration lets compatible AI clients inspect and manage contests through a private, shop-scoped server URL. MCP includes write tools. Connect only trusted clients and review sensitive actionsβespecially status changes and winner selectionβbefore allowing them to run. Ongoing contests are configured and their draws confirmed in the contest editor. Enable MCP 1. Open UserLoop Contests in Shopify admin. 2. Go to MCP. 3. Turn on Enable MCP. 4. Copy the personal MCP server URL immediately. The full key is shown only when it is created. The page provides one-click setup for Cursor and VS Code, a command for Claude Code, connector instructions for Claude and ChatGPT, and JSON for other Streamable HTTP clients. Read tools Tool What it returns list_contests Contests with entry counts and performance data get_contest One contest with its prizes and actions get_contest_stats Entries, winners, views, and conversion rate get_entries Searchable, paginated entrant data get_winners Winners with entrant and prize details get_entries_over_time Daily entry counts for up to 365 days The time-series tool gives an AI client the data needed to summarize trends or draw a chart. The visual format depends on the client you use. Write tools Tool What it changes create_contest Creates a contest with confirmed title and dates update_contest Changes supported fields, including customer-facing language update_contest_status Activates, deactivates, ends, or archives a contest add_prize Adds a product or custom prize select_random_winner Runs a weighted random draw for a prize select_manual_winner Awards a prize to a specified eligible entry select_most_voted_winner Awards an eligible highest-voted photo finish_contest_without_winner Resolves winner selection without awarding a prize reopen_winner_selection Reverses a no-winner decision For an ongoing contest, the MCP update_contest and update_contest_status tools do not change its end date. The one-off random, manual, most-voted, and no-winner tools cannot resolve its scheduled draws. Open Results under Scheduled draws to accept or redraw a proposed winner, or use Run draw now. See Ongoing Contests. Example prompts - βList my active contests and compare their conversion rates.β - βChart entries for this contest over the last 90 days.β - βCreate a French draft contest called Autumn Giveaway from 1 September to 30 September.β - βShow the eligible entries and remaining prizes before drawing.β - βSelect the most-voted eligible photo for the grand prize.β Ask the client to inspect a contest before changing it. MCP writes are applied to the connected store when invoked; they do not use Sidekick's inline confirmation card. Protect the URL The personal URL contains an API key. Treat it like a password: - Never paste it into a public ticket, document, screenshot, or repository. - Add it only to trusted clients and workspaces. - Use Regenerate URL if it is lost or exposed. This revokes the previous key. - Disable MCP when it is no longer needed; connected clients immediately lose access. If a client does not show a recently added tool, refresh or rescan the MCP server. Remove and reconnect it with a regenerated URL if its tool cache does not update.
β¨ Bonus Entry ActionsReferral Sharing
Referral sharing gives each confirmed entrant a unique link and awards extra entries when a new person enters through it. It is a Pro bonus action: you can configure and preview it on Free, but entrants on a new Free-plan contest do not receive referral tools or rewards until you upgrade. Mobile Results view showing the Referrals segment, referred entries, successful referrals, and active referrers Configure referrals 1. Open the contest editor. 2. Go to Build > Bonus actions. 3. Click Add bonus action and choose Referral Share. 4. Add a clear title and description. 5. Enter the Share message used by supported device share sheets. 6. Set Entries per referral from 1 to 10. 7. Set Maximum referral entries from 1 to 100. 8. Save and test the complete storefront flow in Preview. On Free, the editor labels Referral Share as Pro and keeps it paused on the live storefront. Launch warns before activation. Upgrading to Pro makes it live immediately without relaunching the contest. A contest that already had bonus actions when plan gating was introduced is grandfathered and keeps them live. Referral Share always remains optional. It cannot be made a required action because an entrant must complete the base entry before receiving a referral link. What entrants see After the base entry is confirmed, the success experience shows: - A unique referral URL containing the entrant's referral code. - Copy and, when the browser supports native sharing, Share. - Successful referral count. - Referral bonus progress, such as 4 of 20 bonus entries earned. Copying or sharing the link does not award entries. The original entrant earns the configured reward only after a new entrant submits a valid entry through the unique link. Self-referrals are ignored, and rewards stop at the configured maximum. Referral rewards increase the original entrant's total entries. A weighted random draw uses that total, so an entrant with more earned entries has proportionally more chances. Review referral performance Open Results and select Referrals. The summary shows Successful referrals and Active referrers. - Referred entries shows each referred entrant, who referred them, total entries, source, and entry date. - Top referrers ranks entrants by successful referrals and shows referral bonus entries, total entries, and latest referral date. Use search and pagination to review larger contests. The Referrals segment count is the number of successful referrals. Troubleshooting If a reward is missing, confirm that: - The contest is on Pro, or is a grandfathered contest whose actions remain live. - Referral Share is configured and saved. - The friend opened the unique referral URL, not the ordinary contest URL. - The friend completed a valid entry as a new entrant. - The original entrant has not reached Maximum referral entries. - The contest was active when the friend entered. Keep the reward simple and explain it in the contest description and terms. For a broader Results tour, see Managing Entries. See Bonus Entry Actions for the full Free and Pro action rules.
π οΈ Contest SetupContest Lifecycle
Every contest has a display status that tells you where it sits in its entry window and whether customers can submit entries. Mobile Contests dashboard showing the What's new bell, Needs attention tasks, status filters, and Live, Scheduled, and Paused badges Live A Live fixed-date contest has been activated and is between its scheduled start and end dates. An Ongoing contest has no final end date and stays Live after each draw while it is active. It can appear on the standalone page, popup, and app block and can accept entries. On a new Free-plan contest, the base entry remains live while bonus actions stay paused for entrants until you upgrade to Pro. Scheduled A Scheduled contest has been activated but its start date is still in the future. It sits in the dashboard's Active tab and becomes Live when the entry window opens. Draft A new contest starts as Draft. It is not customer-facing, and you can configure it in the editor before launch. Drafts also sit in the dashboard's Active tab because they are in-progress work. Paused Deactivate pauses a contest. A Paused contest is offline but keeps its settings, entries, storefront selections, and results. Activate it again when you are ready. Paused replaces the older Inactive dashboard label. Ended A fixed-date contest appears as Ended as soon as its end date passes or when you end it manually. Ongoing contests continue across draw periods until you end them; each draw does not end the contest. New entries stop, but the Results stage remains available for reviewing entrants and choosing winners. To reactivate an ended fixed-date contest, choose a new future end date. If the contest still uses auto-generated terms, they are regenerated for the new schedule; custom terms remain unchanged and should be reviewed manually. Archived Archiving hides a contest from the normal workflow and removes it from customer-facing surfaces without deleting its data. Find it under the Archived or All dashboard tab. You can unarchive or reactivate it later. Permanently deleted Permanent deletion is a destructive action, not a recoverable status. In the contest editor, open More actions (β¦), choose Delete permanently, and review the confirmation carefully. UserLoop removes the contest with all entries, winners, uploaded photos, and statistics. Uploaded entry photos are also removed from Shopify Files. This cannot be undone. Permanent contest deletion confirmation showing the data that will be removed Use Archive instead when you may need the contest, results, or entrant data again. Plan-aware bonus actions A Free-plan contest can be activated even when it contains paused bonus actions. Launch names the paused actions before activation, and a running contest can appear under Needs attention as Activate bonus actions. Upgrading to Pro makes the saved actions live immediately, with no relaunch. Contests that already had bonus actions when plan gating was introduced are grandfathered and keep them live. See Bonus Entry Actions for configuration and removal behavior. Dashboard filters - Active contains Live, Scheduled, Draft, and Paused contests. - Ended contains ended contests. - Archived contains archived contests. - All contains every contest. Common actions - Activate β launch a draft or resume a paused contest, subject to a valid schedule. - Reactivate β restart an ended fixed-date contest after choosing a new future end date. - Deactivate β pause a live or scheduled contest reversibly. - End contest & draw now β stop a live fixed-date contest early from Results and continue to winner selection. - Run draw now β for a live ongoing contest, draw from current eligible entries without ending the contest or changing its schedule. - Archive β hide the contest while preserving data. - Duplicate β create a new draft with copied settings and a unique slug; entries and winners are not copied. - Delete permanently β irreversibly remove the contest, results, uploaded photos, and statistics. Status flow Draft β Scheduled β Live β Paused β Ended β Archived A contest can move straight from Draft to Live when its start date has already arrived. Ended and archived contests can also be reactivated. Permanent deletion ends the lifecycle and is not shown as a status because no contest remains. Before changing a live campaign, consider what customers have already seen and ensure the public terms remain accurate. For recurring draws, automatic or manual confirmation, and Pro pauses, see Ongoing Contests.
π Entries & WinnersExporting Data
CSV export is available on the Pro plan for entries and winners. Exports run in the background and the completed file is made available when processing finishes. Export entries 1. Open the contest. 2. Go to Results. 3. Click Export CSV in the entries area. The entries file includes: - Contact and entry details: Email, optional Name and Phone, Entry Date, Source, UTM fields, Customer ID, and Surface. - Contest outcome fields: Total Entries when bonus actions are configured and Winner. - Entry state: Entry Status, which shows whether the entry is confirmed or still pending required actions. - Consent evidence: Email Marketing Consent, Email Marketing Consent At, SMS Marketing Consent, SMS Marketing Consent At, Marketing Consent Source, and Marketing Consent Version. Consent values are Yes only when the entrant opted in. The timestamp records when consent was captured; source and version identify the contest surface and disclosure shown at that time. Export winners Use the winner export action for a file containing: - The winner's contact details, total earned entries when applicable, prize, selection method, selection time, notification and claim timestamps, and notes. - Winner lifecycle fields: Winner Status, Invalidated At, and Invalidation Reason. - Prize redemption fields: Redemption Status, Fulfillment Mode, Claim Submitted At, Declined At, and Shopify Order. - The underlying entry status and the same email/SMS consent evidence included in the entries export. Selection method is recorded as Random draw, Manual selection, or Most votes. Use consent fields before marketing imports Before importing entrants into an email marketing platform, filter the file to rows where Entry Status is confirmed and Email Marketing Consent is Yes. Before importing phone numbers into an SMS platform, filter to rows where Entry Status is confirmed and SMS Marketing Consent is Yes. The exported consent fields help you identify what UserLoop recorded, but you remain responsible for applying the legal and platform requirements that apply to your marketing activity. Other common uses - Prize fulfillment and winner outreach. - Campaign acquisition analysis. - Compliance and internal record keeping. Handle exports securely CSV files contain decrypted personal information. Restrict access, store them securely, avoid unnecessary sharing, and delete them in accordance with your privacy and retention policy. Spreadsheet software can interpret values beginning with formula characters. UserLoop escapes potentially dangerous formula-like fields in generated files, but you should still open untrusted exports cautiously and avoid re-enabling formulas in entrant-supplied data.