[{"data":1,"prerenderedAt":194},["ShallowReactive",2],{"ls-connection":3,"support-article-settings-notification-center":5},{"connected":4},false,{"article":6,"related":31,"neighbors":118,"alternates":188},{"feature":7,"category":8,"locale":9,"slug":10,"title":11,"lede":12,"purpose":13,"steps":16,"notes":25,"generatedFrom":29,"updated":30},"notifications","settings","en","notification-center","Track issues in the notification center","A chronological, read-only feed of what happened on your pages: a new registration, a failed one, a broken connection, a full page.",[14,15],"The notification center gathers what you would otherwise have to go looking for. A rejected or missing connection, a broken integration, a page that hit its registration limit, a throttled burst, and a registration that succeeded. The header bell counts what you have not opened yet.","The feed is read-only and shows the newest events first. Each row is toned by severity so the things you must fix stand out from the purely informational ones. A successful registration says how many people signed up and opens that page’s Registrants tab.",[17,20,23],{"text":18,"image":19},"Open Settings → Notifications. Problems are listed newest first, each with a colored dot: red for an error to fix, amber for a warning, blue for information.","\u002Fsupport\u002Fnotifications\u002Fen\u002Fstep-1.webp",{"text":21,"image":22},"Use the “Type” filter to narrow to a single category, connection rejected, registration full, rate limited, and so on. The counter on the right shows how many notifications match.","\u002Fsupport\u002Fnotifications\u002Fen\u002Fstep-2.webp",{"text":24},"On a page-specific notification, click “View page” to open the affected registration page. A broken-integration notice points you to Settings → Integrations to reconnect.",[26,27,28],"The center is read-only: there is nothing to dismiss. Opening it clears the bell. Fix the underlying issue and new failure events stop appearing. New registrations keep arriving as people sign up, collapsed into one row per page per hour.","Red errors need action (for example, reconnect your Livestorm account); amber warnings are usually transient or capacity-related; blue entries, including a new registration, need no fix.","A broken-integration notice is workspace-wide (not tied to one page). A workspace admin reconnects it in Settings → Integrations.","SettingsNotificationsTab.vue · useNotifications.ts · i18n settings.notifications.*","September 23, 2026",[32,68,95],{"feature":33,"category":8,"locale":9,"slug":34,"title":35,"lede":36,"purpose":37,"steps":39,"notes":57,"generatedFrom":66,"updated":67},"page-access","access-and-privacy","Control access and privacy","Password-protect the page, set its visibility, redirect after registration, and cap sign-ups or close them at a set date.",[38],"The Settings step gathers the page's access rules: who can find it (search-engine visibility), who can load it (password), where visitors go after they register, how many people can sign up, and until when.",[40,43,46,49,52,55],{"text":41,"image":42},"Open your page in the builder, on step 4 · Settings. Each rule is its own block with its own switch.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-1.webp",{"text":44,"image":45},"In the visibility block, choose “Public” (crawlable and indexable by search engines) or “Unlisted” (hidden from search, reachable only via its direct link).","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-2.webp",{"text":47,"image":48},"Turn on “Password protection” to require a password before the page loads, then enter it, at least 8 characters. The eye button reveals it.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-3.webp",{"text":50,"image":51},"Turn on “Redirect after registration” and enter a full https:\u002F\u002F URL to send registrants to your own page, or leave the switch off to show the in-page confirmation.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-4.webp",{"text":53,"image":54},"Turn on “Registration limit” to cap sign-ups: set the maximum with the slider or the field. Once the limit is reached, the page shows a “registration full” message instead of the form, unless you also turn on “Waiting list”, nested under the limit, which keeps the form open and queues whoever it would have turned away.","\u002Fsupport\u002Fpage-access\u002Fen\u002Fstep-5.webp",{"text":56},"Turn on “Registration close date”, under the limit, to stop sign-ups at a date and time of your choice, set in the event’s time zone (named next to the fields). Until then, the page shows “Registration open until” and the date under the form button. After it, the form gives way to a “registration closed” message that names the date.",[58,59,60,61,62,63,64,65],"An unlisted page is still reachable by anyone with the link: it is not protection, only a way to keep it out of search engines.","The password must be at least 8 characters and the redirect URL must start with https:\u002F\u002F. Otherwise publishing is blocked on the Launch step.","The “Waiting list” switch appears under the registration limit on free pages only, and is unavailable while registrant retention is set to “Don’t store”. See “Keep a waiting list when the page is full”.","The first date offered is 6:00 PM on the eve of the page’s last session, or tomorrow at 6:00 PM if that evening has passed or no session is ahead. A date already past closes registration on a published page at once, and the field says so.","To keep the date off the page, select the registration form on step 3 · Design and turn off “Show the closing date” in its properties. The message shown once registration has closed still names the date.","Anything already under way still completes after the close date: you can approve pending requests and promote people from the waiting list, and a payment started before the date goes through.","The same card carries “Email domain restrictions”, which decides whose address may register at all. See “Restrict which email domains can register”.","These settings apply on publish: check them before taking the page live.","builder\u002Fsettings\u002FSettingsStep.vue (step 4) · builder\u002Fsettings\u002FRegistrationLimitSetting.vue · builder\u002Fsettings\u002FRegistrationCloseSetting.vue · i18n wizard.settings.*","October 4, 2026",{"feature":69,"category":8,"locale":9,"slug":69,"title":70,"lede":71,"purpose":72,"steps":75,"notes":89,"generatedFrom":93,"updated":94},"api-keys","Create and revoke API keys","Issue workspace keys to call the pages API from your own code. Revoke them when you no longer need them.",[73,74],"API keys let workspace admins authenticate to the pages API with a Bearer token (`vk_live_…`). A key carries the same access as a workspace admin, so treat it like a password: create it when you need an integration, copy the secret once, and revoke it as soon as it is unused.","Endpoints, Try-it, and code samples live in the in-app API documentation (`\u002Fdocs`).",[76,79,83,85,87],{"text":77,"image":78},"Open Settings → API keys. Only workspace admins can manage keys.","\u002Fsupport\u002Fapi-keys\u002Fen\u002Fstep-1.webp",{"text":80,"image":81,"caption":82},"The list shows each key’s name, prefix (`vk_live_…`), dates, and status. Filter Active \u002F All to hide or show revoked and expired keys.","\u002Fsupport\u002Fapi-keys\u002Fen\u002Fstep-2.webp","Switch to All to see revoked or expired keys alongside active ones.",{"text":84},"Click “Create key”, give it a name (e.g. “Production integration”), pick an expiration (30 days, 90 days, 1 year, or never), then confirm.",{"text":86},"Copy the secret immediately. It is shown only once. Tick “I’ve saved this key somewhere safe” before closing. You can open “Try in API docs” to paste it into the docs Try-it panel (it stays in this browser only).",{"text":88},"To stop a key, click “Revoke” on its row and confirm. Any integration using that key stops working right away. This can’t be undone.",[90,91,92],"Never commit API keys to source control or share them in chat or tickets.","Expired keys stop working automatically; revoked keys stay in the All filter for audit.","Non-admins see the tab but cannot create or revoke keys. Ask a workspace admin.","SettingsApiKeysTab.vue · useApiKeys.ts · i18n settings.apiKeys.*","July 21, 2026",{"feature":96,"category":8,"locale":9,"slug":96,"title":97,"lede":98,"purpose":99,"steps":102,"notes":112,"generatedFrom":116,"updated":117},"data-retention","Set how long registrant data is kept","Choose a retention window for the personal data collected through your pages, or have your pages keep none at all.",[100,101],"Registrant data retention controls how long the personal data your pages collect (a registrant’s email and their form answers) is kept. It is a single, workspace-wide setting: it applies to every page in the workspace, and only workspace admins can change it. A daily backend job permanently deletes anything older than the window you pick.","Use it to match your own privacy policy or a legal requirement. Keep data as long as you need it, or have your pages store none of it and rely on your Livestorm events as the system of record.",[103,106,110],{"text":104,"image":105},"Open Settings → AI & privacy. Registrant data retention is the second card, below AI page generation.","\u002Fsupport\u002Fdata-retention\u002Fen\u002Fstep-1.webp",{"text":107,"image":108,"caption":109},"Open the “Keep registrant data for” dropdown and pick a window: Unlimited (the default), 2 years, 1 year, 6 months, or 3 months. The change saves as soon as you pick.","\u002Fsupport\u002Fdata-retention\u002Fen\u002Fstep-2.webp","Data older than the selected period is permanently deleted.",{"text":111},"To store no registrant personal data at all, choose “Don’t store”. Only anonymized analytics counts are kept, and a warning explains what that means.",[113,114,115],"The setting is workspace-wide and admin-only: it applies to everyone, and members see it but can’t change it.","Data older than the window (email and form answers) is deleted permanently by a daily job. This can’t be undone, so shorten the window deliberately.","“Don’t store” keeps zero registrant personal data; only anonymized counts remain for analytics.","SettingsAiTab.vue · useWorkspace.ts setRegistrantRetention · i18n settings.workspace.retention.*","September 9, 2026",{"prev":119,"next":144},{"feature":120,"category":8,"locale":9,"slug":121,"title":122,"lede":123,"purpose":124,"steps":127,"notes":138,"generatedFrom":142,"updated":143},"ads-tracking","ads-and-consent","Add ad pixels and the consent banner","Fire Meta, Google Ads, GA4 or LinkedIn conversion pixels on every published page and hub, gated by a cookie-consent banner.",[125,126],"Ad tracking lets you add conversion pixels once, at the workspace level, so they fire on every published page and event hub without any per-page setup. It works with the Meta Pixel, Google Ads, Google Analytics 4 and the LinkedIn Insight Tag.","A cookie-consent banner gates the pixels: nothing loads until a visitor accepts. It is the only consent mechanism your pages have, so it stays on by default. Tracking is admin-only, and lives inside Settings → Integrations.",[128,131,134],{"text":129,"image":130},"Open Settings → Integrations. At the bottom, the “Ads tracking” section has one row per platform (Meta Pixel, Google Ads, GA4 and the LinkedIn Insight Tag), then the consent banner. A platform that is set up shows its id and an “Active” tag. Here, the Meta Pixel already is.","\u002Fsupport\u002Fads-tracking\u002Fen\u002Fstep-1.webp",{"text":132,"image":133},"Click “Add” on a platform, or “Edit” on one that is already set up, enter its id and click “Save tracking”. Google Ads needs both a conversion id and a label; a LinkedIn conversion id needs a partner id. “Remove pixel” clears a platform you no longer use.","\u002Fsupport\u002Fads-tracking\u002Fen\u002Fstep-2.webp",{"text":135,"image":136,"caption":137},"Keep the cookie consent banner on. Turning it off asks you to confirm. Without it, Meta and LinkedIn never load (they wait for an accept) and Google runs cookieless (Consent Mode stays denied).","\u002Fsupport\u002Fads-tracking\u002Fen\u002Fstep-3.webp","The consent banner is the only consent mechanism your pages have. Leave it on for GDPR.",[139,140,141],"Each id is checked as you type: a badly formatted id is flagged in the dialog, and nothing is saved until it is fixed. Saving an empty field clears that platform.","Pixels fire on every published page and event hub in the workspace, always gated by the consent banner.","Only workspace admins can change tracking. The section moved here from its own tab. The old Settings → Tracking link now opens Integrations.","SettingsTrackingTab.vue · SettingsIntegrationsTab.vue · i18n settings.tracking.*","October 15, 2026",{"feature":145,"category":8,"locale":9,"slug":145,"title":146,"lede":147,"purpose":148,"steps":151,"notes":169,"generatedFrom":186,"updated":187},"paid-registration","Charge for registration","Require a one-time payment before a visitor is registered.",[149,150],"A paid page turns payment into the last gate before sign-up: nothing is created in Livestorm and no registrant is recorded until Stripe confirms the charge. Useful for paid masterclasses, workshops and training sessions.","The money goes to your OWN Stripe account (direct charges): you are the merchant of record, you own receipts, refunds and disputes, and Livestorm takes no cut.",[152,155,158,161,165,167],{"text":153,"image":154},"Paid registration needs a connected Stripe account. Open Settings → Integrations and check that the Stripe row reads “Connected”.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-1.webp",{"text":156,"image":157},"Then open your page in the builder, on step 4 · Settings. The Payment group sits below the access rules.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-2.webp",{"text":159,"image":160},"Turn on “Paid registration”. Until a Stripe account is connected and able to take card payments, the card stays greyed out with a link to Integrations.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-3.webp",{"text":162,"image":163,"caption":164},"Enter the price and its currency, then optionally a line-item label. It is what buyers see on the Stripe checkout and receipt. Leave it empty to fall back to the event title.","\u002Fsupport\u002Fpaid-registration\u002Fen\u002Fstep-4.webp","A €49 ticket labelled “Masterclass ticket”, ready to publish.",{"text":166},"To give some visitors a lower price, click “Add code” under the price. Enter the code, then a percentage or a fixed amount off: the window shows what visitors will pay. A use limit and start and end dates are optional.",{"text":168},"A saved code works at once, without publishing again. The list shows how many times each code was used and whether it is active, with a switch to turn it off, and a menu to edit it, share a link that applies it, or delete it.",[170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],"The minimum price is 0.50 in the selected currency (EUR, USD or GBP).","The price is snapshotted by the server when a visitor submits, so it cannot be tampered with from the browser, and changing it later never re-prices a sign-up already in progress.","Someone who is already registered is not charged again: the form recognizes their email and skips checkout.","On a multi-session page, one payment registers every session the visitor picked.","Visitors enter a promo code on the page before paying, and the button shows the new price. A shared link opens the page with its code already applied. Capitals do not matter, and a code works on its own page only.","Stripe charges the reduced price. With a 100% code, the visitor registers without paying.","A code cannot leave less than Stripe’s minimum charge (0.50 in EUR or USD, 0.30 in GBP) unless it takes 100% off. If you lower the price later, visitors with that code pay the minimum.","A fixed amount off is in the page’s currency. If you change the currency, the code stops applying until you edit it and enter the amount again.","A visitor on the Stripe checkout holds one use of the code for up to an hour, and gives it back by leaving without paying. When a code has no uses left, the next visitor is told before paying. A payment you refund in full in Stripe gives its use back too, and the person stays registered.","Once someone has used a code, you can turn it off but not delete it. Turning a code off or deleting it does not affect a visitor already on the Stripe checkout: they pay the price they were shown.","The Registrants tab shows what each person paid and the code they used, in the Paid column. The export adds Amount paid and Promo code.","Promo codes apply on the page itself. In a hub’s registration window, visitors pay the full price.","Refunds and disputes happen in your own Stripe dashboard, not in Livestorm.","If a payment succeeds but the event platform then refuses the registration for a cause on its side (a broken connection, an outage), the visitor is kept in the Failed view of the Registrants tab with a “Paid” tag, and retried. See “Recover registrations the event platform refused”.","A charged visitor whose registration cannot be completed at all is listed at the top of the Registrants tab (its Approved view), under “paid but not registered”, with “Refund in Stripe”.","Disconnecting Stripe stops paid pages from taking payments until you reconnect.","builder\u002Fsettings\u002FSettingsStep.vue · builder\u002Fsettings\u002FPromoCodesSetting.vue · SettingsPaymentsTab.vue · usePayments.ts · pages\u002FFailedPaymentsCard.vue · i18n wizard.settings.payment.* \u002F wizard.settings.promo.* \u002F registrants.failed*","October 8, 2026",[189,192],{"hreflang":190,"path":191},"fr","\u002Fsupport\u002Fparametres\u002Fcentre-de-notifications",{"hreflang":9,"path":193},"\u002Fsupport\u002Fsettings\u002Fnotification-center",1792141117851]