How it works
- 1
Visitor enters two things
They type their company URL and job role — no login, no account, no cookies.
- 2
AI reads their site and matches
The model reads their public website and maps it against your confirmed exhibitors and the draft agenda.
- 3
Honest verdict and shortlist
They get a clear go/no-go and a personalised shortlist — grounded in real data, not FOMO.
- 4
Optional: register or get the brief
Turn on a Register CTA and an 'email me my brief' capture to convert the visit into a lead.
Install in one line
Drop a single <script> tag with your event slug onto any page and the widget appears. The button and banner modes need nothing else. For the in-page modes — strip, inline and native — also add a <div> with an id and point data-target at it so the widget knows where to render.
<div id="configurence-widget"></div>
<script src="https://app.configurence.com/embed.js"
data-event="as-adria-2026"
data-mode="inline"
data-theme="auto"
data-target="#configurence-widget"
async></script>Any hand-coded or static site.
- 1Open the template that renders on every page, or just the page you want.
- 2Paste the snippet just before the closing </body> tag.
- 3For inline, strip or native modes, add the target <div> where the widget should appear.
Works from a static host or CDN — no build step required.
Open the customizer → to tune colors, fonts and copy with a live preview.
Placements
Strip
data-mode="strip"A compact single-row form (company + role + button) that sits inline like a search bar and opens the full report on a new page — the lightest footprint, best for lead capture.
Inline
data-mode="inline"Renders the full report directly in the page and auto-resizes to its content, with no modal or redirect.
Button
data-mode="button"A floating pill that opens the widget in a modal; the iframe loads lazily on first open so it never slows the host page.
Banner
data-mode="banner"A dismissible bottom bar with a call-to-action that opens the widget in a modal.
Native
data-render="native"Renders a lite report straight into the host page via Shadow DOM (no iframe) for the deepest visual blend — requires the host domain to be CORS-allowlisted.
Theming
Auto theming samples the host page
With data-theme="auto" the widget reads the host page's font, background and brand color and adapts to match, applying WCAG contrast guards so text stays legible on any surface.
Explicit tokens override the sampler
Any design token you set by hand — data-accent, data-bg, data-surface, data-text, data-dim, data-border, data-radius, data-font, data-hfont — takes precedence over the auto-sampled value, so you can pin exactly the parts you care about and let the rest adapt.
Theme variants beyond auto
data-theme also accepts match-light and match-dark to lock the sampler to a light or dark reading of the host, or custom to drive the look entirely from your explicit tokens.
Per-event defaults live server-side
Theme and copy defaults can be stored per event on the server, so a clean one-line embed inherits the agreed look without repeating every attribute on the tag.
Attribute reference
| Attribute | Values | What it does |
|---|---|---|
data-event | event slug (required) | The event this widget matches against; the only required attribute. |
data-mode | strip | inline | button | banner | How the widget presents itself on the page. |
data-render | native | Set to native to render a lite report in-page via Shadow DOM instead of an iframe. |
data-theme | auto | match-light | match-dark | custom | Theming strategy — sample the host, lock to a light/dark reading, or drive from explicit tokens. |
data-accent | CSS color | Brand/accent color for buttons and highlights. |
data-bg | CSS color | Page background color behind the widget. |
data-surface | CSS color | Card and panel surface color. |
data-text | CSS color | Primary text color. |
data-dim | CSS color | Muted/secondary text color. |
data-border | CSS color | Border and divider color. |
data-radius | CSS length (e.g. 12px) | Corner radius for cards, inputs and buttons. |
data-font | CSS font-family | Body font family. |
data-hfont | CSS font-family | Heading font family. |
data-label | text | Headline shown above the form. |
data-lang | en | hr | Switches the built-in interface copy between English and Croatian/Bosnian. |
data-intro | text | Sub-line shown under the headline. |
data-ph-company | text | Placeholder for the company URL input. |
data-ph-role | text | Placeholder for the job role input. |
data-cta | text | Submit button label. |
data-target | CSS selector (e.g. #configurence-widget) | Where in-page modes mount; points at your container element. |
data-position | bottom-right | bottom-left | bottom | Placement of the floating button or banner on screen. |
Security & privacy
Frame-ancestors allowlist
Each event carries a frame-ancestors allowlist, so only the domains you approve can iframe the widget — an embed copied onto any other site simply won't load.
Per-IP rate limiting
POST /api/match is rate-limited per IP — by default 8 requests per 5 minutes and 60 per day — which absorbs abuse and scraping without getting in a real visitor's way.
GDPR-friendly by construction
The widget collects only a company URL and a job role — no cookies, no fingerprinting, no accounts. Sessions are ephemeral and shared report links expire after 30 days.
Analytics
A conversion funnel, delivered to you
Every interaction is emitted as a funnel to the event owner — impression → open → submit → report → click_exhibitor / click_share / click_register / lead — so you can see exactly where visitors drop off and how many convert. It's queryable through the embed_funnel SQL view, with no extra tracking script required.
FAQ
Will it slow my site down?+
No. The loader is async and self-contained — it renders after your page, and in the button and banner modes it loads the report iframe only when a visitor opens it.
Is visitor data safe and GDPR-friendly?+
Yes. We collect only the company URL and role — no cookies, no fingerprinting, no accounts. Sessions are ephemeral and shared report links expire after 30 days.
Can I show it in Croatian?+
Yes — set data-lang="hr" and the built-in copy switches to Croatian. You can also override any individual label yourself.
Will it match my brand colors and fonts?+
With data-theme="auto" it samples your page's font, background and accent color and adapts, with WCAG contrast guards. Or set exact tokens like data-accent and data-font.
Can I use it on multiple events or pages?+
Yes. Each embed points at one event via data-event, and you can place as many widgets as you like across your pages.
How do I remove it?+
Delete the <script> tag, and the target <div> if you added one. Nothing is left behind — no cookies or stored state on your site.
What if the visitor has no website?+
They can enter a role and company name instead of a URL; the match then leans on the role and any public signal it can find, and stays honest about the lower confidence.
Can any site embed it?+
Only domains on the event's allowlist may frame the widget, and the match API is rate-limited per IP — so your embed can't be lifted onto another site.