# OmniLab Help Center - **Get started** - [Getting started](/docs/platform/getting-started) - **Business apps** - Games: Online games, Offer Pass, Gated Content, Premium 3D. - [OmniLab Games](/docs/games): Build interactive games like wheels, scratch cards, and quizzes that reward participants and capture data. - Overview: What Games is, when to use it, and how it fits the wider platform. - [Overview](/docs/games/overview): What OmniLab Games is, when to use it, and how it fits the wider platform. - [What is OmniLab Games](/docs/games/overview/what-is-games): Turn promotions into playable experiences that engage participants and capture data inside a campaign. - Get Started: Go from zero to a first published game quickly. - [Get Started](/docs/games/get-started): Go from zero to a first published game quickly. - [Your first game in 15 minutes](/docs/games/get-started/your-first-game-in-15-minutes): Create, publish, and test a first Wheel of Fortune game from an existing campaign in about 15 minutes. - [Pick a game type](/docs/games/get-started/pick-a-game-type): Choose the right OmniLab Games format based on your campaign goal, build complexity, and reward logic. - **Build** - Build by game type: Detailed build guides grouped by game family. - [Build by game type](/docs/games/build-by-game-type): Find the step-by-step build guide for the game you want to run. - Luck-based: Wheel, Scratch, Reveal, Instant Win, and 3D Selection. - [Luck-based](/docs/games/build-by-game-type/luck-based): Run a prize game where the outcome comes down to chance. - [Wheel of Fortune](/docs/games/build-by-game-type/luck-based/wheel-of-fortune): Build a spinning prize wheel: design the slices, create and link a reward, set the winning and losing outcomes, and publish. - [Scratch Card](/docs/games/build-by-game-type/luck-based/scratch-card): Let players rub away a cover to reveal a branded win or loss underneath. - [Reveal Card](/docs/games/build-by-game-type/luck-based/reveal-card): Run a card-flip game where players tap a card and OmniLab reveals each player's win or loss image. - [Simple / Instant Win](/docs/games/build-by-game-type/luck-based/simple-instant-win): Build the shortest luck-based play: one tap reveals a win or loss, with no wheel, card, or 3D object. - [3D Selection game](/docs/games/build-by-game-type/luck-based/3d-selection-game): Let players pick one of several 3D objects, each tied to its own animation and result. - Skill-based: Catcher, Memory, Quiz, and Form. - [Skill-based games](/docs/games/build-by-game-type/skill-based): Reward effort and performance — catch, match, answer, or submit to climb a leaderboard. - [Catcher](/docs/games/build-by-game-type/skill-based/catcher): Configure a Catcher game with falling objects, score-based gameplay, and performance rewards. - [Memory](/docs/games/build-by-game-type/skill-based/memory): Build a card-matching Memory game with a shared front, unique card reveals, completion-time ranking, and a leaderboard reward. - [Quiz](/docs/games/build-by-game-type/skill-based/quiz): Build a Quiz game with a question pool, a score summary, and a Leaderboard reward for your best players. - [Form](/docs/games/build-by-game-type/skill-based/form): Configure a Form game where the form is the touchpoint itself, with submission summary and performance rewards. - Advent Calendar: Time-based Advent Calendar behavior and touchpoint specifics. - [Advent Calendar](/docs/games/build-by-game-type/advent-calendar): Run a day-by-day Advent Calendar where each day opens its own touchpoint. - [Set up an Advent Calendar game](/docs/games/build-by-game-type/advent-calendar/advent-calendar): Set up each linked touchpoint so its day in the Advent Calendar opens on time. - Access-based: Offer Pass and Gated Content access-based flows. - [Access-based games](/docs/games/build-by-game-type/access-based): Let people unlock an offer or reserved content instead of playing for a prize. - [Offer Pass](/docs/games/build-by-game-type/access-based/offer-pass): Configure an Offer Pass and the claimable offers people unlock inside it. - [Gated Content](/docs/games/build-by-game-type/access-based/gated-content): Configure a teaser-to-reveal touchpoint that unlocks protected content and a call-to-action button. - Premium 3D: Premium 3D collaboration and delivery guidance. - [Premium 3D](/docs/games/build-by-game-type/premium-3d): Plan a custom-built 3D experience produced with the OmniLab team. - [Premium 3D games](/docs/games/build-by-game-type/premium-3d/premium-3d-games): Learn what Premium 3D includes and how to start a guided delivery with OmniLab. - Configure: Shared configuration patterns across game types. - [Configure](/docs/games/configure): Set up the look, rewards, opt-in, form, restrictions, and emails for a game. - [Configure appearance & branding](/docs/games/configure/configure-appearance-and-branding): Set the shared visual fields for a game, then refine the design in the editor for your game type. - [Configure outcomes](/docs/games/configure/configure-outcomes): Choose how a luck-based game decides wins, losses, or draw entries when someone plays. - [Link rewards to a game](/docs/games/configure/link-rewards-to-a-game): Connect the right reward to the right game path so it actually gets handed out. - [Set restrictions for a game](/docs/games/configure/set-restrictions-for-a-game): Limit how often people can play a game and when it is available. - [Set opt-in for a game](/docs/games/configure/set-opt-in-for-a-game): Collect the consent a game needs before it gathers any participant data. - [Set the participation form for a game](/docs/games/configure/set-the-participation-form-for-a-game): Collect extra details from players during the game flow, for one game or the whole campaign. - [Configure notifications for a game](/docs/games/configure/configure-notifications-for-a-game): Choose which emails a game sends to players and decide where to set them up. - **Ship** - Launch: Test, publish, and distribute your game. - [Launch](/docs/games/launch): Test, publish, and distribute your game. - [Test your game](/docs/games/launch/test-your-game): Test every player path on real devices and run the publishing check, before the campaign starts. - [Publish a game](/docs/games/launch/publish-a-game): Publish the campaign that contains your game, resolve validation issues, and understand what changes after go-live. - [Find the game URL](/docs/games/launch/find-the-game-url): Know when to use the direct game link versus the campaign link, then copy the right URL from OmniLab Studio. - [Download the QR code for a game](/docs/games/launch/download-the-qr-code-for-a-game): Get a QR code that opens your game, ready for posters, flyers, and in-store displays. - [Embed or distribute a game](/docs/games/launch/embed-or-distribute-a-game): Decide how to get your game in front of people: a direct link, a landing page, or built into your own site. - Measure: Track participation, rewards, and exports for games. - [Measure](/docs/games/measure): Track participation, rewards, and exports for games. - [Game participation metrics](/docs/games/measure/game-participation-metrics): Find out how many people played your game, who finished, and how they performed. - [Reward attribution tracking](/docs/games/measure/reward-attribution-tracking): Follow who won, who's still in the running, and whether prizes have been claimed. - [Run a lottery draw](/docs/games/measure/run-a-lottery-draw): Pick winners from everyone who entered a lottery reward, then declare them so winners and losers are notified. - [Winner lists & exports](/docs/games/measure/winner-lists-and-exports): Download the right winner file so your team can hand out prizes and follow up. - Troubleshoot: Diagnose validation, probability, and reward distribution issues. - [Troubleshoot](/docs/games/troubleshoot): Diagnose validation, probability, and reward distribution issues. - [Why didn't my reward distribute?](/docs/games/troubleshoot/why-didnt-my-reward-distribute): Find out why a winning play didn't hand out the reward, then fix it. - [Probability weights don't sum to 100](/docs/games/troubleshoot/probability-weights-dont-sum-to-100): Rebalance your game's prize odds so the campaign can publish. - [Lottery rewards and draw mechanics](/docs/games/troubleshoot/lottery-rewards-and-draw-mechanics): See how a lottery game turns players into entrants and how you pick the winners. - [Game validation errors](/docs/games/troubleshoot/game-validation-errors): Clear the most common game-specific blockers so your campaign can publish. - Events: Activities with booking and check-in, plus Event Host App operations. - [OmniLab Events](/docs/events): Sell or offer bookings, check guests in, and track attendance for any event you run. - Overview: Understand the Events app and the types of activities it supports. - [Overview](/docs/events/overview): Understand what OmniLab Events helps you run, when to choose it, and how booking and check-in fit together. - [What is OmniLab Events](/docs/events/overview/what-is-events): Understand what OmniLab Events helps you run, when to choose it, and how event mode and check-in method shape the attendee journey. - Get Started: Create and publish a first event in minutes. - [Get Started](/docs/events/get-started): Set up and publish your first event before you move on to ticketing and staffed check-in. - [Your first event in 15 minutes](/docs/events/get-started/your-first-event-in-15-minutes): Create, publish, and test a first Check-In Only activity from an OmniLab Events template in about 15 minutes. - **Build** - Build: Configure event modes, general settings, slots, tickets, check-in, and shared event settings. - [Build](/docs/events/build): Configure the Activity Touchpoint, slots, tickets, check-in, and shared event settings for an event. - [Create an Activity touchpoint](/docs/events/build/create-an-activity-touchpoint): Add an Activity (event) touchpoint and take it end-to-end — event type, details, schedule, tickets, check-in, badge, and publish. - [Event types (Booking + Check-in vs. Check-in Only)](/docs/events/build/event-types): Choose the right event mode for booking flow, capacity control, and day-of check-in. - [General activity settings](/docs/events/build/general-activity-settings): Fill the attendee-facing appearance, description, location, and display settings for an Activity. - [Configure slots — weekly vs. specific dates](/docs/events/build/configure-slots-weekly-vs-specific-dates): Choose Weekly or Specific Dates, then turn those ranges into single slots or repeated bookable slots. - [Configure tickets (Booking + Check-in events)](/docs/events/build/configure-tickets): Add ticket types, capacities, sale windows, and optional booking-time forms for bookable Activities. - [Configure check-in (Self vs. Scan)](/docs/events/build/configure-check-in): Choose the check-in method, set timing windows, and add an optional arrival-time form for an event. - [Configure booking restrictions](/docs/events/build/configure-booking-restrictions): Limit repeat attendance for one participant, and require a validation code before someone can book. - [Add badges and rewards to an event](/docs/events/build/add-badges-and-rewards-to-an-event): See when an event should award a badge, link a reward, or use both. - [Set opt-in for an event](/docs/events/build/set-opt-in-for-an-event): See how Opt-in applies to event Activities and where to configure it at campaign or Touchpoint level. - [Set the participation form for an event](/docs/events/build/set-the-participation-form-for-an-event): Understand when an event needs a Participation Form and when a Booking Form or Check-in Form is the better fit. - [Configure booking notifications](/docs/events/build/configure-booking-notifications): Use the booking-specific notification types for bookable events and understand the key dependencies. - **Ship** - Launch: Test, publish, and prepare event entry points. - [Launch](/docs/events/launch): Test, publish, and prepare the attendee and staff entry points for your event. - [Test your event](/docs/events/launch/test-your-event): Run a controlled booking and check-in rehearsal before you promote the event. - [Publish an event](/docs/events/launch/publish-an-event): Take your event live by publishing its campaign, and clear the checks that block launch. - [Find the event URL](/docs/events/launch/find-the-event-url): Copy the right published link so every email, sign, and QR code sends attendees to the same place. - [Download QR codes (event + activity slot)](/docs/events/launch/download-qr-codes): Choose the right event QR assets for attendees and staff, then test them before launch. - [Set up the Event Host App](/docs/events/launch/set-up-the-event-host-app): Prepare the staff check-in web app, protect access, and brief hosts before the event opens. - Operate: Run bookings, check-in operations, and day-of workflows. - [Operate](/docs/events/operate): Run bookings, ticket checks, and day-of check-in tasks for your event. - [Access bookings & tickets](/docs/events/operate/access-bookings-and-tickets): Find any guest's booking, download their ticket, and export the attendee list. - [Use the Event Host App on the day](/docs/events/operate/use-the-event-host-app-on-the-day): Check guests in from a phone or tablet, and switch to a manual lookup when a code won't scan. - [Check-in statuses (green / orange / red)](/docs/events/operate/check-in-statuses): Read the scanner's result screen and decide whether to admit, wait, retry, or escalate. - [Manual check-in](/docs/events/operate/manual-check-in): Check in an attendee without scanning by finding an existing booking in the Event Host App. - [Cancel a booking](/docs/events/operate/cancel-a-booking): Cancel a booking from the Bookings dashboard and keep a clear record of the cancelled attendee. - [Download the bookings Excel](/docs/events/operate/download-the-bookings-excel): Export the attendee list from Bookings and open it in Excel, Google Sheets, or another spreadsheet tool. - Measure: Track bookings, check-ins, no-shows, and event exports. - [Measure](/docs/events/measure): Track booking demand, attendance, no-shows, and event exports. - [Booking analytics](/docs/events/measure/booking-analytics): Read demand, capacity, fill, and attendance for bookable events so you can plan staffing and slots. - [Check-in rates & no-shows](/docs/events/measure/check-in-rates-and-no-shows): Use confirmed bookings and check-ins to understand attendance quality after the event starts. - [Exports for events](/docs/events/measure/exports-for-events): Pick the right event export for the question you're answering, then find the full export guide. - Troubleshoot: Resolve slot, timing, scanner, and validation issues. - [Troubleshoot](/docs/events/troubleshoot): Resolve slot, check-in, scanner, and validation problems in OmniLab Events. - [Overlapping slots](/docs/events/troubleshoot/overlapping-slots): Diagnose overlap validation errors in Specific Dates and weekly time ranges. - [Early/late window issues](/docs/events/troubleshoot/early-late-window-issues): Resolve check-ins that open too early, close too soon, or fail because of timing rules. - [Event Host App access](/docs/events/troubleshoot/event-host-app-access): Resolve the most common Event Host App URL, password, camera, browser, and connectivity issues. - [Event validation errors](/docs/events/troubleshoot/event-validation-errors): Common reasons an event blocks publishing and how to fix them. - Treasure Hunts: Venue-based experiences using 3D and AR objects. - [OmniLab Treasure Hunts](/docs/treasure-hunts): Plan, build, launch, and measure OmniLab Treasure Hunts that guide participants through venue-based discovery. - Overview: Understand what Treasure Hunts are and where they fit. - [Overview](/docs/treasure-hunts/overview): Learn what OmniLab Treasure Hunts are and when to use them. - [What is OmniLab Treasure Hunts](/docs/treasure-hunts/overview/what-is-treasure-hunts): See how OmniLab Treasure Hunts combine venue discovery, 3D or augmented-reality objects, and progression across a space. - Get Started: Create a first minimal hunt. - [Get Started](/docs/treasure-hunts/get-started): Create your first Treasure Hunt and first object. - [Your first treasure hunt](/docs/treasure-hunts/get-started/your-first-treasure-hunt): Create a simple Treasure Hunt, add one object, and test the participant journey end to end. - Build: Create the hunt, configure objects, and connect the shared settings it needs. - [Build](/docs/treasure-hunts/build): Create the hunt, configure objects, and connect the shared settings it needs. - [Create a treasure hunt](/docs/treasure-hunts/build/create-a-treasure-hunt): Create the hunt container, set progression rules, and prepare it for object configuration. - [Configure hunt objects — 3D mode](/docs/treasure-hunts/build/configure-hunt-objects-3d-mode): Create a Treasure Hunt Object in 3D First mode, add its asset, and prepare it for collection. - [Configure hunt objects — AR mode](/docs/treasure-hunts/build/configure-hunt-objects-ar-mode): Set an object to AR First mode, prepare the mobile asset formats, and test the participant experience. - [Asset management for hunts](/docs/treasure-hunts/build/asset-management-for-hunts): Prepare the images and 3D files your hunt and objects need before you build or launch. - [Configure interactivity (questions and answers)](/docs/treasure-hunts/build/configure-interactivity): Decide whether each object is collected on sight or after a question, and set up the answers. - [Object placement — QR codes in the venue](/docs/treasure-hunts/build/object-placement-qr-codes-in-the-venue): Plan where hunt and object QR codes go so participants can move through the venue smoothly. - [Set opt-in for a hunt](/docs/treasure-hunts/build/set-opt-in-for-a-hunt): Understand how Opt-in applies to OmniLab Treasure Hunts and where to configure it for your campaign. - [Set the participation form for a hunt](/docs/treasure-hunts/build/set-the-participation-form-for-a-hunt): Understand when a Treasure Hunt should use a Participation Form and where to configure it. - [Configure notifications for a hunt](/docs/treasure-hunts/build/configure-notifications-for-a-hunt): Understand how OmniLab Treasure Hunts use notification emails and where to configure them. - [Link rewards and badges](/docs/treasure-hunts/build/link-rewards-and-badges): Understand when a Treasure Hunt should use badges, rewards, or both. - Launch: Test, print assets, place QR codes, and publish the hunt. - [Launch](/docs/treasure-hunts/launch): Preview the experience, prepare QR codes, and publish the hunt. - [Test the hunt](/docs/treasure-hunts/launch/test-the-hunt): Check the route on real devices after you publish, before the campaign starts, and catch issues before participants arrive. - [Print & place QR codes](/docs/treasure-hunts/launch/print-and-place-qr-codes): Download the hunt and object QR codes, print them clearly, and place them where the route works best. - [Publish a hunt](/docs/treasure-hunts/launch/publish-a-hunt): Run validation, fix the blockers, and publish the Treasure Hunt when it is ready to go live. - Measure: Track hunt progression and completion analytics. - [Measure](/docs/treasure-hunts/measure): Use analytics snapshots and exports to understand hunt performance. - [Hunt progression analytics](/docs/treasure-hunts/measure/hunt-progression-analytics): Use analytics snapshots and exports to understand how participants move through a Treasure Hunt. - Troubleshoot: Resolve rendering and runtime issues for hunts. - [Troubleshoot](/docs/treasure-hunts/troubleshoot): Fix 3D, AR, QR, and configuration issues that affect the hunt experience. - [3D/AR rendering issues](/docs/treasure-hunts/troubleshoot/3d-ar-rendering-issues): Diagnose missing assets, unsupported AR, camera issues, and other problems that stop objects from working. - Transactions: Build receipt games with acceptance rules, validation workflows, and reward attribution. - [OmniLab Transactions](/docs/transactions): Plan, launch, validate, and measure receipt-based challenges in OmniLab. - Overview: Understand the receipt-challenge model before you configure it. - [Overview](/docs/transactions/overview): See how a receipt game works before you build one. - [What is OmniLab Transactions](/docs/transactions/overview/what-is-transactions): Understand the receipt-challenge model from participant upload to operator review and reward unlock. - Get Started: Create and test a first receipt game end to end. - [Get Started](/docs/transactions/get-started): Build your first working receipt game in about 20 minutes. - [Your first receipt game](/docs/transactions/get-started/your-first-receipt-challenge): Create, test, and validate a first receipt game from an existing campaign. - **Build** - Build: Configure receipt-game setup, acceptance rules, validation, and reward logic. - [Build](/docs/transactions/build): Set up your receipt game: the upload Touchpoint, the checks that accept a receipt, and the rewards it unlocks. - [Create a receipt game](/docs/transactions/build/create-a-receipt-game): Add a receipt game to your campaign and write the words shoppers see when they upload a receipt. - [Set opt-in for a receipt game](/docs/transactions/build/set-opt-in-for-a-receipt-challenge): Collect consent the right way when shoppers upload receipts, and choose where that consent is set. - [Set the participation form for a receipt game](/docs/transactions/build/set-the-participation-form-for-a-receipt-challenge): Collect extra details a receipt can't give you, and decide where the form is set up. - [Configure notifications for a receipt game](/docs/transactions/build/configure-notifications-for-a-receipt-challenge): Decide which emails to send shoppers after they upload a receipt, then set them up in the Platform guides. - [Acceptance policy overview](/docs/transactions/build/acceptance-policy-overview): Understand which receipt checks run before a submission can count in the challenge. - [Configure field requirements](/docs/transactions/build/configure-field-requirements): Choose which extracted receipt fields must be present before a submission can continue. - [Configure amount rules](/docs/transactions/build/configure-amount-rules): Use minimum and maximum spend thresholds inside the receipt acceptance policy. - [Configure merchant rules](/docs/transactions/build/configure-merchant-rules-allowed-and-restricted): Whitelist or block specific retailers and control exact-match behavior in the receipt policy. - [Configure location rules](/docs/transactions/build/configure-location-rules): Use zip-code rules when a receipt game is limited to specific stores or areas. - [Validation policy: manual vs automatic](/docs/transactions/build/validation-policy-manual-vs-automatic): Choose whether compliant receipts are approved immediately or sent to an operator first. - [Challenge rules overview](/docs/transactions/build/challenge-rules-overview): See how receipt-based progress conditions unlock winning options and rewards. - [Create a challenge rule](/docs/transactions/build/create-a-challenge-rule): Decide how much a shopper must spend to unlock a reward, and whether they can win it more than once. - [Challenge condition types](/docs/transactions/build/challenge-condition-types): Learn which rule condition decides when a shopper unlocks a reward in a receipt game. - [Winning options and attribution slots](/docs/transactions/build/winning-options-and-attribution-slots): Set up the rewards a receipt game can hand out, and control how much stock goes out and when. - [Global outcome rules](/docs/transactions/build/global-outcome-rules): Apply shared constraints such as exclusivity or unlock limits across several winning options. - **Run** - Operate: Run manual review and session follow-up after launch. - [Operate](/docs/transactions/operate): Review shopper sessions, check receipts, and correct decisions after launch. - [Manual validation queue](/docs/transactions/operate/manual-validation-queue): Work through shopper sessions and receipts when your challenge uses manual review. - [Review flagged receipts](/docs/transactions/operate/review-flagged-receipts): Know what each receipt status means and how to handle a suspicious or incomplete submission. - [Override decisions](/docs/transactions/operate/override-decisions): Approve, refuse, or edit a receipt to correct its outcome after a shopper submits it. - Launch: Validate the live journey before and after publish. - [Launch](/docs/transactions/launch): Test the live path, publish safely, and share the right participant entry point. - [Test the receipt flow](/docs/transactions/launch/test-the-receipt-flow): Dry-run the participant and reviewer journeys after you publish, before the campaign starts. - [Publish a receipt game](/docs/transactions/launch/publish): Publish the campaign that contains the receipt game and resolve validation blockers before go-live. - [Distribute the entry point](/docs/transactions/launch/distribute-the-entry-point): Pick the right link or QR code so participants land in the right place. - Measure: Review performance, spend signals, and downstream exports. - [Measure](/docs/transactions/measure): Track how your live receipt game is performing, from submission volume to reward stock. - [Receipt submission analytics](/docs/transactions/measure/receipt-submission-analytics): Read the main dashboard for a live receipt game and catch validation trends early. - [Transaction insights](/docs/transactions/measure/transaction-insights): Open one shopper's session to see exactly what happened, receipt by receipt. - [Export transaction data](/docs/transactions/measure/exports): Find where to pull a formal report or data export for a receipt game. - Troubleshoot: Investigate the most common receipt-submission problems. - [Troubleshoot](/docs/transactions/troubleshoot): Find the likely cause when a receipt game isn't behaving as you expected. - [Common acceptance failures](/docs/transactions/troubleshoot/common-acceptance-failures): Trace a refused or stalled receipt back to the rule most likely causing it. - [OCR issues](/docs/transactions/troubleshoot/ocr-issues): Fix poor receipt photos so the automatic reading can pick up the store and amount. - [Fraud patterns](/docs/transactions/troubleshoot/fraud-patterns): Spot repeat uploads, duplicate receipts, and setups that make a challenge easy to game. - Smart Links: Dynamic, trackable links and QR codes with folders, variants, analytics, and reports. - [OmniLab Smart Links](/docs/smart-links): Dynamic, trackable links and QR codes for campaigns, apps, and external destinations. - Overview: Understand what Smart Links are, where they live in OmniLab, and when to use them. - [Overview](/docs/smart-links/overview): Understand what OmniLab Smart Links are, where they live in OmniLab, and when to use them. - [What is OmniLab Smart Links](/docs/smart-links/overview/what-is-smart-links): Learn what OmniLab Smart Links does, how it fits into OmniLab, and when it is the right tool for tracked distribution. - Get Started: Create your first Smart Link, test it, and prepare it for sharing. - [Get Started](/docs/smart-links/get-started): Create your first OmniLab Smart Link, test it, and prepare it for sharing. - [Your first Smart Link](/docs/smart-links/get-started/your-first-smart-link): Create your first Redirection Smart Link inside a folder, test it, download its QR code, and open analytics. - Build: Organise folders, choose link types, define slugs, and add tracking and variants. - [Build](/docs/smart-links/build): Organise folders, choose link types, define slugs, and add tracking and variants. - [Folders & organisation](/docs/smart-links/build/folders-and-organisation): Organise OmniLab Smart Links with folders so campaigns, locations, and channels stay tidy as you grow. - [Create a redirection Smart Link](/docs/smart-links/build/create-a-redirection-smart-link): Create the standard OmniLab Smart Link used for campaigns, websites, and other web destinations. - [Create an app-store Smart Link](/docs/smart-links/build/create-an-app-stores-smart-link): Create one OmniLab Smart Link that routes users to the correct app store based on device. - [URL slug rules](/docs/smart-links/build/slug-rules): Keep OmniLab Smart Link slugs short, readable, and unique across your organisation. - [UTM parameters & custom variables](/docs/smart-links/build/utm-parameters-and-custom-variables): Add campaign tracking to OmniLab Smart Links and placement-specific parameters to variants. - [Smart Link variants (A/B routing)](/docs/smart-links/build/variants): Track locations, channels, and placements separately without creating a new OmniLab Smart Link each time. - Launch: Test Smart Links, generate QR codes, connect campaigns, and prepare print-ready assets. - [Launch](/docs/smart-links/launch): Test OmniLab Smart Links, generate QR codes, connect campaigns, and prepare print-ready assets. - [Test the Smart Link](/docs/smart-links/launch/test-the-smart-link): Verify the redirect, QR code, variants, and tracking before you share or print the OmniLab Smart Link. - [Download QR code](/docs/smart-links/launch/download-qr-code): Open the QR designer, choose colors and formats, and export one or more OmniLab Smart Link QR codes. - [Generate Smart Links from existing campaigns](/docs/smart-links/launch/generate-smart-links-from-existing-campaigns): Use OmniLab Smart Links as the share layer for a published campaign URL without rebuilding the campaign. - [Print-ready exports](/docs/smart-links/launch/print-ready-exports): Choose the right QR format, size, and layout rules before OmniLab Smart Link assets go to print. - Measure: Run Smart Link analytics, compare variants, and export link-level reports. - [Measure](/docs/smart-links/measure): Run OmniLab Smart Link analytics, compare variants, and export link-level reports. - [OmniLab Smart Link Analytics](/docs/smart-links/measure/smart-link-analytics): Run the per-link analytics view, choose a date range, and understand the main OmniLab Smart Link metrics. - [Scans over time](/docs/smart-links/measure/scans-over-time): Use the OmniLab Smart Link time-series chart to spot launch peaks, sustained traffic, and unexpected drops. - [Device distribution](/docs/smart-links/measure/device-distribution): Use device-level OmniLab Smart Link analytics to understand where scans come from and how to respond. - [Scans by variant](/docs/smart-links/measure/scans-by-variant): Compare OmniLab Smart Link variants to see which placement, channel, or location performs best. - [UTM source and referrer analysis](/docs/smart-links/measure/utm-source-referrer-analysis): Understand how OmniLab Smart Links reports UTM sources and referrers, and why they are not always the same. - [Analytics exports](/docs/smart-links/measure/analytics-exports): Use the OmniLab Smart Links Reports view and CSV export when you need reporting outside the per-link analytics page. - Troubleshoot: Fix slug conflicts, variant setup mistakes, and missing analytics. - [Troubleshoot](/docs/smart-links/troubleshoot): Fix slug conflicts, variant setup mistakes, and missing analytics. - [Slug conflicts](/docs/smart-links/troubleshoot/slug-conflicts): Fix OmniLab Smart Link save errors caused by a slug that is already in use somewhere in your organisation. - [Variant errors](/docs/smart-links/troubleshoot/variant-errors): Fix duplicate IDs, wrong QR codes, and missing placement tracking in OmniLab Smart Links. - [Tracking gaps](/docs/smart-links/troubleshoot/tracking-gaps): Diagnose why OmniLab Smart Link scans or clicks are not appearing the way you expect in analytics. - **Foundations** - Platform: Shared foundations — campaigns, touchpoints, rewards, opt-in, notifications. - [Platform](/docs/platform): Master the building blocks behind every app — campaigns, rewards, opt-in, forms, and notifications. - **Getting Started** - Getting Started: Understand OmniLab, learn the core concepts, and launch your first campaign. - [Getting Started](/docs/platform/getting-started): Understand OmniLab, learn the core concepts, and launch your first campaign. - [What is OmniLab](/docs/platform/getting-started/what-is-omnilab): Understand how OmniLab combines campaigns, rewards, data capture, and analytics in one activation platform. - [OmniLab Studio vs. OmniLab Pages](/docs/platform/getting-started/studio-vs-pages): Learn what happens in OmniLab Studio, what happens in OmniLab Pages, and how both surfaces work together. - [Organisations and scope in OmniLab](/docs/platform/getting-started/organisations-and-scope-in-omnilab): Understand how the selected organisation, the Global organisation, and organisation-level settings shape what you can see and manage in OmniLab. - [How settings work across campaigns and touchpoints](/docs/platform/getting-started/how-settings-work-across-campaigns-and-touchpoints): See where each setting applies so you can predict how most Platform options behave. - [Your first campaign](/docs/platform/getting-started/your-first-campaign): Build, publish, and test a simple campaign end to end in about 15 minutes. - **Building** - Campaigns: Create, validate, duplicate, and reuse campaigns. - [OmniLab Campaigns](/docs/platform/campaigns): Create campaigns, schedule them, publish safely, and reuse proven setups with duplication or templates. - [Create a campaign](/docs/platform/campaigns/create-a-campaign): Create a new campaign from scratch with its name and public link, then finish dates, language, and timezone in build. - [Campaign lifecycle](/docs/platform/campaigns/campaign-lifecycle): Understand how a campaign moves from draft to live and then to a finished state in OmniLab. - [Campaign dates](/docs/platform/campaigns/dates): Set campaign dates, add visitor messages, and keep touchpoint overrides inside the campaign window. - [Validation & publishing](/docs/platform/campaigns/validation-and-publishing): Understand how the validation modal works, what blocks publication, and how to route common publish errors to the right fix. - [Templates: export, import, and reuse](/docs/platform/campaigns/templates-export-import-duplicate): Save a campaign as a template, store the ZIP in Images & Files, and generate a new campaign from that template. - [Share a template across organisations](/docs/platform/campaigns/share-a-template-across-organisations): Share an existing template with another organisation, then generate a campaign and review the destination-specific setup. - [Duplicate a campaign within an organisation](/docs/platform/campaigns/duplicate-a-campaign-within-an-organisation): Clone a campaign in the same organisation when you need a fast variant with a new public link and a fresh draft. - [Export a campaign as a template ZIP file](/docs/platform/export-campaign-template-zip-file): Save a campaign as a reusable template file and download the ZIP so you can hand it to another organisation. - [Import a campaign template ZIP file](/docs/platform/import-campaign-template-zip-file): Upload a template ZIP into another organisation, generate a campaign from it, then review the destination settings before you publish. - Touchpoints: Shared touchpoint concepts that apply across OmniLab apps. - [Touchpoints](/docs/platform/touchpoints): Add the interactive experiences participants play, then set the dates, limits, and badges they share. - [About touchpoints in a campaign](/docs/platform/touchpoints/about-touchpoints-and-types): Learn what a touchpoint is, which touchpoints you add directly to a campaign, and how Offer Pass or Treasure Hunt structures fit in. - [Add a touchpoint to a campaign](/docs/platform/touchpoints/add-a-touchpoint-to-a-campaign): Add a touchpoint from the campaign builder, choose the right campaign experience, and continue in the matching app guide. - [Touchpoint dates override](/docs/platform/touchpoints/touchpoint-dates-override): Override campaign dates for one touchpoint while keeping its schedule inside the campaign window. - [Restrictions](/docs/platform/touchpoints/restrictions): Limit who can participate, how often they can participate, and when a touchpoint is available. - [Gamification badges](/docs/platform/touchpoints/gamification-badges): Learn what badges do, when touchpoints require them, and how to assign them from the Gamification tab. - Opt-in & Consent: Enable opt-in, choose the right scope, and manage consent text and terms content across your campaign. - [Opt-in & Consent](/docs/platform/opt-in): Ask participants to accept your terms before they take part, and manage the consent text in one place or per Touchpoint. - [About opt-in in OmniLab](/docs/platform/opt-in/about-opt-in-in-omnilab): See what Opt-in includes and how to choose the right consent setup for each Campaign. - [Enable opt-in and choose scope](/docs/platform/opt-in/enable-opt-in-and-choose-scope): Turn Opt-in on and choose whether one set of terms covers the Campaign or each Touchpoint has its own. - [Configure opt-in at campaign level](/docs/platform/opt-in/configure-opt-in-at-campaign-level): Set one consent text and one terms source that apply across the whole Campaign. - [Configure opt-in at touchpoint level](/docs/platform/opt-in/configure-opt-in-at-touchpoint-level): Give each Touchpoint its own consent text and terms when the legal wording must vary. - [Opt-in reference](/docs/platform/opt-in/opt-in-reference): Look up the Opt-in fields and compare uploading a PDF with linking to an external terms page. - Forms: Understand when to use participation forms versus acquisition forms in OmniLab. - [Forms](/docs/platform/forms): Choose the right form to identify participants at sign-up or collect extra answers during a Touchpoint. - Participation Form: Collect extra participant data during touchpoint participation with the right scope. - [Participation Form](/docs/platform/forms/participation-form): Collect extra answers from participants during a Touchpoint, set up once or per Touchpoint. - [About participation forms](/docs/platform/forms/participation-form/about-participation-forms): See what participation forms collect, when they appear, and how they differ from acquisition forms. - [Enable and choose scope](/docs/platform/forms/participation-form/enable-and-choose-scope): Turn the participation form on and choose whether one form covers the Campaign or each Touchpoint has its own. - [Configure at campaign level](/docs/platform/forms/participation-form/configure-at-campaign-level): Apply one shared participation form across the Campaign and choose how often participants fill it. - [Configure at touchpoint level](/docs/platform/forms/participation-form/configure-at-touchpoint-level): Turn a participation form on for individual Touchpoints when each one needs its own questions. - [Form fields reference](/docs/platform/forms/participation-form/form-fields-reference): Look up the participation form field types, build rules, and where participant answers appear. - Acquisition Form: Use one shared sign-up and consent form across the campaign. - [Acquisition Form](/docs/platform/forms/acquisition-form): Use one shared sign-up and consent form across the whole Campaign. - [About acquisition forms](/docs/platform/forms/acquisition-form/about-acquisition-forms): See what the acquisition form does, when participants see it, and why it stays at campaign level. - [Set up an acquisition form](/docs/platform/forms/acquisition-form/set-up-an-acquisition-form): Edit the acquisition form copy, consent content, and verification messages for the whole Campaign. - [Acquisition form reference](/docs/platform/forms/acquisition-form/acquisition-form-reference): Look up the fixed fields, consent elements, and behavior of the campaign-level acquisition form. - Rewards: Create reusable rewards, choose winning methods, and manage schedules, coupons, and linking. - [Rewards](/docs/platform/rewards): Create rewards, choose the right reward type, and manage schedules, coupons, and touchpoint links. - [About rewards: categories and winning methods](/docs/platform/rewards/about-rewards-and-winning-methods): Make the two choices behind every reward — what it's tied to, and how winners are picked — so it links in the right place. - [How rewards connect to touchpoints](/docs/platform/rewards/how-rewards-connect-to-touchpoints): Find where each reward category links, and why a Global Reward is the only way to reward some touchpoints. - [Create a reward](/docs/platform/rewards/create-a-reward): Build a reward in Build → Rewards and fill the fields every reward type shares, ready to link to a touchpoint. - [Link rewards to touchpoints](/docs/platform/rewards/link-rewards-to-touchpoints): A quick map of where to link each reward category so participants can actually earn it. - [Instant Win rewards (Real-Time Draw)](/docs/platform/rewards/real-time-draw): Let participants find out on the spot whether they won, with a campaign-wide reward or a reward inside one game. - [Lottery rewards](/docs/platform/rewards/draw-at-end): Collect eligible participants during the campaign, then pick winners later in a draw — ideal for grand prizes. - [Leaderboard rewards](/docs/platform/rewards/top-x): Reward your best performers in Memory, Quiz, Form, and Catcher games with a ranking-based prize. - [First Come, First Serve rewards](/docs/platform/rewards/first-come-first-served-fcfs-rewards-for-offers): Hand out a limited reward to the first eligible claims until it runs out — as a Global Reward or an Offer Reward. - [Receipt-game & manual rewards](/docs/platform/rewards/receipt-game-rewards): Reward participants who submit a receipt, or hand a reward out yourself with the Manual method. - [Attribution slots: spread rewards across time](/docs/platform/rewards/attribution-slots): Release a reward's quantity in timed batches instead of all at once, and keep the slot dates and totals valid. - [Coupons and redemption](/docs/platform/rewards/coupons-and-redemption): Choose how winners claim a reward, prepare coupon codes when you need them, and control what winners see. - [Badges vs. rewards: what's the difference](/docs/platform/rewards/badges): Decide whether your participant journey needs a prize (a reward) or a progress marker (a badge), then go to the right guide. - [Design a 3D badge](/docs/platform/rewards/design-a-badge): Pick a badge shape and set the front and back artwork — an image or a solid color per face. - Notifications: Notification scope, content, delivery, and Liquid variables. - [Notifications](/docs/platform/notifications): Send the right email automatically when a campaign event happens, and tailor it by reward or Touchpoint. - [About notifications](/docs/platform/notifications/about-notifications): Learn how notification emails are triggered, scoped, and activated in OmniLab. - [Notification types reference](/docs/platform/notifications/notification-types-reference): Review each notification type, its trigger, scope options, and the campaign setups where it applies. - [Configure notifications globally](/docs/platform/notifications/configure-notifications-globally): Use the Global tab to apply one notification email configuration everywhere that type can send. - [Configure notifications by touchpoint](/docs/platform/notifications/configure-notifications-by-touchpoint): Use the per-object notification mode when different rewards or Touchpoints need different email content. - [Email content, banners, CTAs](/docs/platform/notifications/email-content-banners-ctas): Write subject lines, banners, and buttons that get your notification emails opened and acted on. - [Personalise emails with dynamic fields](/docs/platform/notifications/liquid-templates-and-variable-bindings): Insert details like the recipient's name, prize, or booking time into notification emails so each one feels personal. - [Liquid bindings reference](/docs/platform/notifications/liquid-bindings-reference): Write valid Liquid for OmniLab notifications and understand which bindings each notification type supports. - Landing Page: Layouts, header, instructions, CTA, and landing page reference. - [Landing Page](/docs/platform/landing-page): Decide when to use a landing page, pick a layout, and set up the header, instructions, and call to action. - [About landing pages](/docs/platform/landing-page/about-landing-pages): Learn what a landing page is, when to enable it, and how the three layouts differ. - [Choose a layout](/docs/platform/landing-page/choose-a-layout): Choose between One Column, Two Columns, and Advent Calendar based on campaign structure and device behavior. - [Configure the header](/docs/platform/landing-page/configure-the-header): Set the banner, title, subtitle, and header button visibility for your landing page. - [Configure instructions](/docs/platform/landing-page/configure-instructions): Add, reorder, and validate instruction items with an icon, title, and subtitle. - [Configure the call to action](/docs/platform/landing-page/configure-the-cta): Add an optional button that sends participants to an external page after they read your campaign intro. - [One Column layout](/docs/platform/landing-page/one-column-layout): Understand how the One Column layout presents your header and campaign sections in a single stack. - [Two Columns layout](/docs/platform/landing-page/two-columns-layout): Use the Two Columns layout for a split desktop view that collapses into a single column on smaller screens. - [Advent Calendar layout](/docs/platform/landing-page/advent-calendar-layout): Build a day-by-day Advent Calendar with images, linked Touchpoints, and non-overlapping dates. - [Landing Page reference](/docs/platform/landing-page/landing-page-reference): Check landing page asset guidance, section options, validation rules, and multi-language behavior. - [Image & asset specs](/docs/platform/asset-specs): Exact sizes and formats for every image you can add across OmniLab, with live previews you can download. - **Deploying** - Deployment: Public links, QR codes, embedding, and domain setup for Pages deployments. - [Deployment](/docs/platform/deployment): Public links, QR codes, embedding, and domain setup for OmniLab Pages deployments. - [Touchpoint URLs & slugs](/docs/platform/deployment/touchpoint-urls-and-slugs): Learn how OmniLab builds campaign and touchpoint URLs, where to copy them, and how the Campaign Public Link works. - [QR codes (download, design)](/docs/platform/deployment/qr-codes): Download QR codes for campaigns, touchpoints, spaces, and OmniLab Smart Links, then choose the right export style for digital or print. - [Embedding options overview](/docs/platform/deployment/embedding): Choose when to embed OmniLab Pages inside an existing website or app, and where to find the detailed implementation guides. - [Subdomain & custom domain](/docs/platform/deployment/subdomain-and-custom-domain): Understand the default OmniLab subdomain and how a branded custom domain replaces it for OmniLab Pages. - **Measuring** - Analytics Fundamentals: What OmniLab measures, dashboards, and exports. - [Analytics Fundamentals](/docs/platform/analytics-fundamentals): Understand what OmniLab measures, how to read dashboards, and where to export reporting data. - [What OmniLab measures](/docs/platform/analytics-fundamentals/what-omnilab-measures): Understand the main data OmniLab captures across campaigns, touchpoints, OmniLab Smart Links, events, and exports. - [Real-time dashboards](/docs/platform/analytics-fundamentals/real-time-dashboards): Run the campaign dashboard, read each block, and use the current date-range view to monitor live activity. - [Exports & reports](/docs/platform/analytics-fundamentals/exports-and-reports): Download dashboard snapshots and operational datasets from analytics, participants, bookings, rankings, and OmniLab Smart Links. - **For admins & developers** - Admin & Access: Organisations, users, roles, and security. - [Admin & Access](/docs/admin-and-access): Set up organisations, manage who has access, and keep your account secure. - Organisations: Manage the Global organisation, organisation settings, shared variables, scripts, and Pages domain settings in OmniLab. - [Organisations](/docs/admin-and-access/organisations): Create organisations, manage their shared defaults, and adjust settings for each one. - [How organisation scope works](/docs/admin-and-access/organisations/about-the-organisation-hierarchy): See how Global and local organisations fit together, and when to split by country, region, or venue. - [Create an organisation](/docs/admin-and-access/organisations/create-a-child-organisation): Create a new organisation from the Global organisation, choose a stable unique key, and finish the local setup afterwards. - [Organisation settings (general defaults)](/docs/admin-and-access/organisations/organisation-settings): Review the General tab fields on an organisation and decide when to keep local values or inherit from Global. - [Variables at organisation level](/docs/admin-and-access/organisations/variables): Store reusable organisation-specific values like a support link or local phone number, instead of retyping them everywhere. - [Organisation scripts](/docs/admin-and-access/organisations/scripts): What organisation scripts are, and where they are managed. - [Organisation domain settings](/docs/admin-and-access/organisations/domain-aliases): Set the single OmniLab Pages subdomain an organisation uses, and know what the Domain screen can and cannot do. - [Delete an organisation](/docs/admin-and-access/organisations/archive-or-delete-an-organisation): Remove an organisation you no longer need, and prepare its dependent settings before you delete it. - Users & Access: Understand sign-in methods, roles, assignments, and access changes in OmniLab. - [Users & Access](/docs/admin-and-access/users-and-access): Understand sign-in methods, roles, assignments, and access changes in OmniLab. - [Users and authentication](/docs/admin-and-access/users-and-access/user-profiles-and-authentication): See how users sign in and how roles, module access, and organisation assignments shape access in OmniLab. - [Access request process](/docs/admin-and-access/users-and-access/access-request-process): Request or provision OmniLab access with the right role, modules, organisations, and sign-in method. - [Roles and permissions](/docs/admin-and-access/users-and-access/roles-and-permissions): Compare Admin and Contributor access, and see how role, module access, and organisation scope work together. - [Assign users to organisations](/docs/admin-and-access/users-and-access/assign-users-to-organisations): Create or update a user with the right organisations, role, and module access from General Settings. - [Modify or revoke access](/docs/admin-and-access/users-and-access/modify-or-revoke-access): Update a user's role, modules, or organisation assignments, or remove the account when access is no longer needed. - [Multi-org access](/docs/admin-and-access/users-and-access/multi-org-access): Switch between assigned organisations in OmniLab Studio and understand what changes when the working context changes. - Security & Data: System requirements, data residency, SSO, audit, and monitoring guidance. - [Security & Data](/docs/admin-and-access/security-and-data): Data residency, company sign-in, audit, and monitoring guidance. - [System requirements & supported environment](/docs/admin-and-access/security-and-data/system-requirements): Check the browsers, devices, upload formats, and internet connection OmniLab needs to run well — for your team and your participants. - [Company sign-in (SSO)](/docs/admin-and-access/security-and-data/sso-oidc-configuration): Let your team log in to OmniLab with their existing company account instead of a separate password. - Integrations: Embed OmniLab in your site or app, connect identity, email, and tags. - [Integrations](/docs/integrations): Put OmniLab where your audience already is, and connect it to the tools you already run. - Website integration: Embed an OmniLab experience inside your own web pages. - [Website integration](/docs/integrations/website-integration): Embed an OmniLab experience inside your own web pages, so visitors take part without leaving your site. - [About website integration](/docs/integrations/website-integration/about-website-integration): Give an OmniLab experience its own page on your site, framed by your header and footer, and pick how the page loads it. - [Embed URLs and parameters](/docs/integrations/website-integration/embed-urls-and-parameters): Build the address your page loads, and control which experience appears, in which language and variant. - [What your page must handle](/docs/integrations/website-integration/what-your-page-must-handle): The four things your page is responsible for once an OmniLab experience is embedded in it: height, panels, headers, and permissions. - [JavaScript tag reference](/docs/integrations/website-integration/javascript-tag-reference): Install the reusable OmniLab tag, configure its options, and handle the messages an embedded experience sends your page. - [Website integration checklist](/docs/integrations/website-integration/website-integration-checklist): Test an embedded experience on a real page before launch, and know where to send each kind of problem. - Mobile app integration: Show an OmniLab experience inside your native mobile app. - [Mobile app integration](/docs/integrations/mobile-app-integration): Show an OmniLab experience inside your native mobile app instead of opening a browser. - [About mobile app integration](/docs/integrations/mobile-app-integration/about-mobile-app-integration): Understand how an OmniLab experience appears inside your native app, and what your mobile team owns. - [Experience URLs for an app](/docs/integrations/mobile-app-integration/experience-urls-for-an-app): Build the address your app loads into the WebView, and control which experience, language, and participant it opens as. - [WebView requirements](/docs/integrations/mobile-app-integration/webview-requirements): What a WebView has to support before an OmniLab experience will work inside your app. - [Build the WebView](/docs/integrations/mobile-app-integration/build-the-webview): Load an OmniLab experience in a React Native, iOS, or Android WebView, with the settings that matter. - [Mobile integration checklist](/docs/integrations/mobile-app-integration/mobile-integration-checklist): Test an OmniLab experience inside your app on real devices, and know where to send each kind of problem. - Kiosk integration: Run OmniLab experiences on in-store touchscreens and terminals. - [Kiosk Integration](/docs/integrations/kiosk-integration): Kiosk deployment requirements and implementation details for your integration team. - [About kiosk integration](/docs/integrations/kiosk-integration/about-kiosk-integration): Understand how an OmniLab experience runs on a touchscreen kiosk, and who owns which part of the setup. - [Kiosk URLs](/docs/integrations/kiosk-integration/url-structure): Understand what a kiosk URL does, how the scanned barcode is passed into it, and what to give your technical team. - [Kiosk requirements](/docs/integrations/kiosk-integration/kiosk-requirements): What a kiosk has to support — browser, scanner, on-screen keyboard, and screen controls — before it can run an OmniLab experience. - [Inactivity management](/docs/integrations/kiosk-integration/inactivity-management): Reset a kiosk automatically when a visitor walks away mid-experience, so the screen is ready for the next person. - [Build the kiosk shell](/docs/integrations/kiosk-integration/build-the-kiosk-shell): Build the kiosk application around an OmniLab experience: URLs, messaging, identity, and the idle reset. - [Kiosk implementation checklist](/docs/integrations/kiosk-integration/kiosk-implementation-checklist): Run a kiosk rollout in three stages — architecture, testing, and launch — and know where to send each type of problem. - Custom domain: Serve OmniLab experiences from your own branded web address. - [Custom domain](/docs/integrations/custom-domain): Serve OmniLab experiences from your own web address instead of the default OmniLab one. - [About custom domains](/docs/integrations/custom-domain/about-custom-domains): Serve OmniLab experiences from your own web address, so the links people see and share belong to your brand. - [Set up the DNS record](/docs/integrations/custom-domain/set-up-the-dns-record): Create the DNS record that points your subdomain at OmniLab, and get the certificate issued. - [Custom domain checklist](/docs/integrations/custom-domain/custom-domain-checklist): Verify a custom domain works end to end before you point campaigns, QR codes, and embeds at it. - SSO for your team: Let your employees sign in to OmniLab with their company account. - [SSO for your team](/docs/integrations/sso): Let the people who build campaigns sign in to OmniLab with their existing company account. - [About SSO for your team](/docs/integrations/sso/about-sso-for-your-team): Let the people who build campaigns sign in to OmniLab with the company account they already use. - [What your identity team provides](/docs/integrations/sso/what-your-identity-team-provides): Gather the details OmniLab needs to trust your identity system, before anyone starts configuring. - [Connect your identity provider](/docs/integrations/sso/connect-your-identity-provider): Technical reference for configuring Microsoft Entra ID, Salesforce Marketing Cloud, and custom OIDC providers with OmniLab. - [SSO launch checklist](/docs/integrations/sso/sso-launch-checklist): Verify company sign-in works, and that access removal works, before you switch your team over. - Customer accounts: Let participants sign in with an account you already manage. - [Customer accounts](/docs/integrations/customer-accounts): Let participants sign in with an account you already manage, and send what they do back to your systems. - [About customer accounts](/docs/integrations/customer-accounts/about-customer-accounts): Let participants and loyalty members sign in to OmniLab experiences with their own account for a personalised experience. - [Pass a known customer into an experience](/docs/integrations/customer-accounts/pass-a-known-customer-into-an-experience): Open an experience as a specific customer you already recognise, so they play immediately with no sign-in screen. - [Sync contacts to your systems](/docs/integrations/customer-accounts/sync-contacts-to-your-systems): Get participants and what they did in OmniLab into your CRM, CDP, or customer database. - [Customer accounts checklist](/docs/integrations/customer-accounts/customer-accounts-checklist): Confirm participant sign-in and contact sync work end to end before a campaign depends on them. - Email triggers: Send automated emails when participants take an action. - [Email triggers](/docs/integrations/email-triggers): Send an automated email through your own email platform when a participant does something. - [About email triggers](/docs/integrations/email-triggers/about-email-triggers): Understand which emails OmniLab sends, which ones your own email platform sends, and where the line between them sits. - [Connect your email platform](/docs/integrations/email-triggers/connect-your-email-platform): Point OmniLab at the email service that actually delivers your messages, so triggered sends go out from your own sending domain. - [Transactional emails](/docs/integrations/email-triggers/transactional-emails): Send automated emails triggered by OmniLab participant activity, such as confirmations, reward notifications, and reminders. - [Double opt-in email verification](/docs/integrations/email-triggers/double-opt-in-email-verification): Require participants to confirm their email address before a sign-up counts, using a Function you control. - Tags & scripts: Load tag managers, pixels, and cookie banners into OmniLab Pages. - [Tags & scripts](/docs/integrations/tags-and-scripts): Load your tag manager, advertising pixels, and cookie banner into OmniLab Pages. - [About tags and scripts](/docs/integrations/tags-and-scripts/about-tags-and-scripts): Load your tag manager, advertising pixels, and cookie banner into OmniLab experiences, so they behave like the rest of your website. - [Where and when a script runs](/docs/integrations/tags-and-scripts/where-and-when-a-script-runs): Choose the context and trigger for a script, and see which values it can read about the current organisation and participant. - [Add a script](/docs/integrations/tags-and-scripts/add-a-script): Add a tag or script in the Global organisation, choose when it runs, and republish so it reaches live campaigns. - [Script examples](/docs/integrations/tags-and-scripts/script-examples): Working code for the common cases: tag manager, advertising pixels, cookie banner, conversion events, and scripts scoped to selected campaigns. - [Common patterns and what to avoid](/docs/integrations/tags-and-scripts/common-patterns-and-what-to-avoid): Patterns that work well for scripts in OmniLab Pages, the ones that break live campaigns, and how to test safely. - Developers: Authenticated integrations, webhooks, embedding, scripts, and technical implementation guides. - [Developers](/docs/developers): Build authenticated integrations with OmniLab using booking access, webhooks, embed patterns, scripts, and notification templating. - Getting Started: Authentication, environments, and first integration steps. - [Getting Started](/docs/developers/getting-started): Start an OmniLab integration with the authentication flow, environment planning, and safe rate-limit handling. - [API overview](/docs/developers/getting-started/api-overview): Understand what is already documented for the OmniLab API and where to start before the full reference is published. - [Authentication](/docs/developers/getting-started/authentication): Request a machine-to-machine access token and use it safely with the approved OmniLab API endpoints. - [Base URLs and environments](/docs/developers/getting-started/base-urls-and-environments): Keep production, staging, and embed URLs clearly separated when you integrate OmniLab. - [Rate limits](/docs/developers/getting-started/rate-limits): Design OmniLab clients to handle throttling safely, even when exact quotas are provisioned per environment. - API Reference: Reserved for the future public resource reference. - [API Reference](/docs/developers/api-reference): This page is intentionally reserved while the public OmniLab API reference is being consolidated. - [Booking API](/docs/developers/api-reference/booking-api): List and cancel a contact's bookings with the customer-facing OmniLab Booking endpoints. - Webhooks: Callback delivery, subscriptions, signatures, and event reference. - [Webhooks](/docs/developers/webhooks): Understand OmniLab callback delivery, subscription matching, signing, retries, and event types. - [About webhooks](/docs/developers/webhooks/about-webhooks): Understand callbacks, subscriptions, signatures, delivery behavior, and retry rules in OmniLab webhooks. - [Configure webhooks](/docs/developers/webhooks/configure-webhooks): Register a callback in Studio, subscribe it to events, authenticate it, and verify the signature on every delivery. - [Webhook event reference](/docs/developers/webhooks/webhook-event-reference): Review the OmniLab webhook event families and the event names used in subscriptions. - Functions: Sandboxed TypeScript that reacts to platform events or takes part in business decisions. - [Functions](/docs/developers/functions): Write TypeScript that OmniLab compiles to WebAssembly and runs in a sandbox, either after an event or inside a business decision. - [About functions](/docs/developers/functions/about-functions): What OmniLab functions are, how they run, when to use one instead of a webhook, and the limits your code works within. - [Create and build a function](/docs/developers/functions/create-and-build-a-function): Create a function in OmniLab Studio, write its handler, save a draft, and compile it to a running WebAssembly version. - [Platform event functions](/docs/developers/functions/platform-event-functions): Write a function that runs asynchronously after something happens in OmniLab, and subscribe it to the event types it should react to. - [Hook functions](/docs/developers/functions/hook-functions): Write a function that runs inside an OmniLab operation and decides whether it continues, then bind it to a hook point. - [Configure runtime and secrets](/docs/developers/functions/configure-runtime-and-secrets): Set a function's timeout and memory, allow-list outbound hosts, add config keys, and store credentials in secret bundles. - [Test and monitor functions](/docs/developers/functions/test-and-monitor-functions): Run test invocations against the real sandbox, read the execution log, and diagnose failing or silent functions. - [Function SDK reference](/docs/developers/functions/function-sdk-reference): Handler exports, input and output shapes, the available SDK calls, hook contracts, error codes, event types, and every limit. - API Changelog: Versioning guidance and changelog status. - [API Changelog](/docs/developers/api-changelog): Understand the current versioning posture and what to monitor until a public API changelog is published. - [Versioning strategy](/docs/developers/api-changelog/versioning-strategy): Understand how versioning appears in OmniLab endpoints and event types, and how to prepare for future change. - [Changelog](/docs/developers/api-changelog/changelog): Check the current status of the public API changelog and the safest way to monitor integration-impacting changes today. - **Resources** - Resources: Playbooks, release notes, video library, and glossary. - [Resources](/docs/resources): Playbooks, release notes, video library, and glossary. - Playbooks: End-to-end marketing workflows built with OmniLab. - [Playbooks](/docs/resources/playbooks): Step-by-step marketing workflows you can follow start to finish. - [About playbooks](/docs/resources/playbooks/about-playbooks): Understand what OmniLab playbooks are and how to use them to plan your next activation. - [Playbook — Customer Acquisition](/docs/resources/playbooks/playbook-customer-acquisition): End-to-end workflow for attracting and converting new contacts with OmniLab activations. - [Playbook — Qualified Footfall (Drive to Mall)](/docs/resources/playbooks/playbook-qualified-footfall): Drive visitors to a physical location using digital activations linked to in-store rewards. - [Playbook — Data Enrichment](/docs/resources/playbooks/playbook-data-enrichment): Progressively learn more about your contacts through repeated, rewarded interactions. - [Playbook — Increased Sales (OmniLab Transactions)](/docs/resources/playbooks/playbook-increased-sales): Drive repeat purchases and higher spend with receipt-based challenges and transaction-triggered rewards. - [Playbook — Engagement & Brand Experience](/docs/resources/playbooks/playbook-engagement-and-brand-experience): Create memorable brand interactions that deepen loyalty without a primary acquisition goal. - [Playbook — Activation Flywheel](/docs/resources/playbooks/playbook-activation-flywheel): The long-term loop that connects acquisition, engagement, enrichment, and sales into a continuous marketing programme. - Release Notes: Every OmniLab release, newest first. - [Release notes history](/docs/resources/release-notes): Every OmniLab release, newest first, with what changed and what needs your attention. - [v1.12.3](/docs/resources/release-notes/v1-12-3): Released 25 August 2026 — the on-site staff apps renamed and moved into touchpoint sharing, plus two tighter checks on luck-based games. - [v1.12.2](/docs/resources/release-notes/v1-12-2): Released 19 August 2026 — an attribution slot required on every receipt-game winning option, legacy Activities refused at publication, and embedding fixes. - [v1.12.1](/docs/resources/release-notes/v1-12-1): Released 11 August 2026 — touchpoint date validation, a single Full Name sign-up field, and one sign-in method per Studio user. - Glossary: Plain-language definitions for the terms used across the help center. - [Glossary](/docs/resources/glossary): Look up plain-language definitions for the OmniLab terms you meet across the help center.