Contest Setup
Configure contest details, prizes, entry settings, rules, and lifecycle status.
Contest Basics
The contest title, schedule, description, language, and URL are managed from the full-screen editor. Open the settings 1. From the dashboard, click the contest. 2. Open Build. 3. Expand Contest settings. Click the pencil beside the contest title in the editor header to rename it. Schedule Choose when the contest opens and closes. The end must be after the start. Public entry surfaces accept submissions only while the contest is active and within this schedule. If you reactivate an ended contest, the app asks for a new future end date. Description Use the description to explain the prize, the entry requirements, and important campaign details. It appears on customer-facing contest surfaces when the relevant display option is enabled. Contest language Choose English, German, Spanish, or French. This localizes system text, dates, generated templates, default terms, and discount emails. Text that you wrote yourself is not translated automatically. See Contest Languages for the full checklist. URL slug The slug is the final part of the hosted contest URL: https://yourstore.com/apps/contest/your-slug Use lowercase letters, numbers, and hyphens, and keep it short and memorable. Each slug must be unique within your store. Avoid changing a slug after sharing the contest. Previously shared links do not automatically redirect to the new URL. Saving changes When the editor has unsaved changes, a bar provides Save and Discard actions. Preview the contest before saving major design or copy changes, especially on an active campaign.
Prizes
You can offer Shopify products, custom prizes, or a mixture of both. Prize order and quantity also guide winner selection in Results. Add prizes 1. Open the contest editor. 2. Go to Build and expand Prizes. 3. Choose a Shopify product or add a custom prize. Shopify product prize Use the product picker to search the store catalog. The product title and image are brought into the contest automatically. Where applicable, choose the intended product or variant. Custom prize Enter a title and optional description, then upload an image if you have one. Custom prizes are useful for gift cards, experiences, bundles, or anything not represented by a Shopify product. Edit prize quantity Click any prize card to expand it, then set the quantity from 1 to 999. Quantity is the number of winners that can be recorded for that prize. The Results stage shows how many awards remain for each prize and prevents you from exceeding the configured quantity. Prize order The first prize is treated as the grand prize. Prizes appear to entrants in their configured order, and Results uses the same order when guiding you through winner selection. Remove a prize Expand the prize card and use its remove action. Review active contests carefully before removing a prize that customers have already seen, and ensure your terms still match the advertised offer. Prepare a prize for fulfillment Winner selection and manual prize handling are available on Free and Pro. On Free, choose Handle redemption yourself and contact the winner directly. On Pro, UserLoop can collect delivery details and create a fully discounted Shopify draft or order. Shopify order creation is available only for a prize linked to a Shopify product. If the product has multiple variants, the winner chooses an option on the secure claim form. Custom prizes can use secure delivery-detail collection or manual redemption. Shopify fulfillment requires optional read_draft_orders and write_draft_orders access. The winner's submitted details remain available if order creation needs attention, so you can approve access or fix the issue and use Try again. See Sending and Fulfilling Winner Prizes. Where prizes appear Prizes can appear on the standalone page, popup, and app block when Show prizes is enabled in the Entry form or Design display options. They also appear in Results when you select winners.
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 You do not need to choose the final winner while building the form. After the contest ends, open Results and use random draw, manual selection, or most votes for an eligible photo contest.
Terms & Conditions
Clear rules help entrants understand eligibility, timing, prizes, and how a winner will be selected. Generated terms New contests can start with generated terms based on their current settings and language. Review them before launch: they are a useful starting point, not legal advice. If you change a contest's dates or other material details, check that the terms still match. When an ended contest with auto-generated terms is reactivated using a new end date, the default terms are regenerated for the new schedule. Edit the rules 1. Open the contest editor. 2. Go to Build and expand Contest settings. 3. Edit the Terms & Conditions text. 4. Save the contest. Once you replace generated terms with custom text, later language changes do not translate that text for you. What to cover Most contest rules should explain: - Who is eligible, including age and location restrictions. - The exact opening and closing dates and timezone. - How to enter and any limits. - The prizes and their approximate value. - How and when winners are chosen. - How winners will be contacted and how long they have to respond. - How submitted information and uploaded photos may be used. - Any exclusions, platform disclaimers, and right to modify or cancel. Photo contests should explicitly cover usage rights and moderation. Discount rewards should explain the offer, expiry, eligible products, and any other conditions. Displaying terms Enable Show terms in the Entry form or Design display options. Entrants can then open the rules from the contest experience. For high-value campaigns or contests spanning several jurisdictions, have a qualified legal professional review the final rules.
Contest 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 contest has been activated and is between its scheduled start and end dates. 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 contest appears as Ended as soon as its end date passes or when you end it manually. New entries stop, but the Results stage remains available for reviewing entrants and choosing winners. To reactivate it, 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 contest after choosing a new future end date. - Deactivate โ pause a live or scheduled contest reversibly. - End contest & draw now โ stop a live contest early from Results and continue to winner selection. - 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.
Discount Code Rewards
On the Pro plan, a contest can automatically give every confirmed entrant a unique, single-use Shopify discount code. Before you begin The app needs Shopify discount access. If the editor shows Allow discount access, approve the requested read_discounts and write_discounts permissions before enabling the reward. Configure the reward 1. Open the contest editor. 2. Go to Build and expand Discount code. 3. Enable the discount reward. 4. Choose a percentage or fixed-amount discount. 5. Set the value and expiry. 6. Choose whether to send the code by email. 7. Save the contest and submit a test entry before launch. The app creates the supporting Shopify discount and generates a different code for each confirmed entrant. Each code is limited to one use by that customer. Entrants see their code in the success experience immediately after entry. Optional email delivery Enable email delivery when entrants should also receive their code in their inbox. The email uses the contest logo and colors, falling back to the store name when no logo is configured. It follows the contest language and includes the code, offer, and expiry. Example of a branded discount reward email Use Send test to deliver a sample to the store owner's email. A test checks layout and branding; it is not a substitute for a full storefront test entry. Monitoring codes Results indicates whether a discount code was issued for an entrant. Shopify remains the source of truth for discount configuration and redemption. Important considerations - Decide on the reward before promoting the contest and state it clearly in the terms. - Review value and expiry carefully before launch. - Keep email delivery enabled only when entrants have been told to expect it. - If you deactivate or end the contest, no new entrants can receive codes, but already issued Shopify codes follow their existing discount rules. - Do not delete or materially change the underlying Shopify discount while the campaign is active. If a code is not issued, confirm the store is on Pro, discount access is granted, the contest is active and within its schedule, and the entry was confirmed successfully.