Skip to content

Integration

Your gifting journey runs inside your own pages.

Mount the recorder where the moment already happens — a checkout step, an account page — not on a separate site.

  • Four ways in
  • Shadow DOM isolation
  • Domain-bound key
A product manager checks a video gifting journey on his phone, beside a laptop and a small gift Runs in your page
maison lune

Add a video message to your gift.

Record here
shop.yourbrand.com
Your checkout, step 3
On your domain
checkout.html Custom Element
<!-- Custom Element, own Shadow DOM --><livstick-widget-v2  uid="gift-code"  domain="shop.yourbrand.com"  api-key="your-widget-key"></livstick-widget-v2>

Also a React component, a script tag or a fullpage iframe.

Where it acts

The recorder stops being somewhere else.

The usual answer is a hand-over: a link in an email, a page on another domain, another brand. Each one loses people who had already decided to give.

  1. Record The sender films Embeddable Widget acts hereHere
  2. Review Held for a person
  3. Deliver The container opens
  4. Reveal The recipient plays it
  • Recording

    A step of your own funnel, in the page the buyer is on.

  • Playback

    Viewing ships as its own component, with a deliberately smaller surface.

  • Your markup and CSS

    The Custom Element renders in its own Shadow DOM; the React component, in your tree.

  • Domains and keys

    Bound to the domains you declare, through a public key revocable per platform.

How it works

Three steps. No page to leave.

  1. checkout.html
    <livstick-widget-v2  uid="gift-code"  domain="shop.yourbrand.com"></livstick-widget-v2>

    Mounted

    A tag, a React component, a script or an iframe, in your page.

  2. Widget Your platform
    • Language FR
    • Theme Your brand
    • Steps and fields Code group
    • Contact form

    Configured

    Language, theme, steps and fields come from your platform.

  3. Hugo records his message inside the brand’s page REC
    shop.yourbrand.comYour domain No redirect

    Recorded

    The buyer records without leaving your page.

Good to know

Four ways in, and the small print on each.

An embed is judged on what it refuses to do quietly.

  • Four mounts, not equivalent

    A React component, a Custom Element, a script tag or a fullpage iframe. Only the first two take the fine-grained configuration object.

  • Behaviour and theme come from the platform

    Steps, fields, colours and fonts come from your platform and code group. An embed can override them, within a closed schema.

  • What the embedded build leaves out

    No native iOS or Android SDK: in a mobile app, it runs in a web view or the fullpage iframe. No face filters or 3D effects.

  • How the playback component reaches you

    The four recorder mounts are settled. Whether the viewer comes as a published package or with your integration is not yet.

    Settled at scoping

Two pages that keep their visitor.

MAISON LUNE €50
Message recorded
Gift card checkout

The message is recorded before the card is paid for.

The buyer picks a card, records in the same page, pays. No redirect, and no “finish your message later” email.

maisonlune.com/account
maison lune

Reply to Léa with a video.

Record a reply
Brand account area

The reply happens where the gift was opened.

The recipient opens the gift on the brand’s own site and records a reply with the same widget, on the same domain.

Example brands and messages, for illustration.

They already put a voice in their gifts.

Luxury, beauty, retail & flowers

FAQ

The questions that come up in the integration call.

Will it slow our pages down?

The file you add is a small loader that imports the runtime asynchronously. Past 180 KiB of gzipped JavaScript or 25 KiB of gzipped CSS, the widget’s build fails.

Can the widget run on any domain?

No. It boots against the domains declared on your platform, and where the public-key requirement is on, key and domain must resolve to the same platform.

What does our page need to allow?

HTTPS for the API, camera and microphone permission for the widget’s origin (the allow attribute, in an iframe), and a content security policy that permits inline style attributes.

Where do we configure behaviour and theme?

On your platform and on the code group behind the code, merged. These options are set through the configuration API, not from named switches in the back office.

The moment is happening in your page. Put the recorder there.