Embedding web flows and passing UTMs
Embedding web flows and passing UTMs
Publish a web flow, then deliver it on your domain or a SMOC landing page. Visitors see a conversation like this:

Landing URL / Flow URL
In Studio go to Settings → Embed. Flow URL is the direct link (hosts include go.smoc.ai and go2.smoc.ai), shaped like:
https://go.smoc.ai/<company_key>/<flow_key>/<variant_key>
Append UTM query parameters so Console can attribute campaigns. Copy the URL parameters from Settings → Integrations (no leading ?). On Meta, paste them into the ad’s Tracking → URL parameters field (same string on every ad, or bulk-edit) — not into the Website URL. On Google, paste them as the Final URL suffix and leave the Final URL as the Flow URL; {campaignid} fills both utm_campaign and utm_id. On LinkedIn, paste them into account or campaign URL tracking parameters; {{AD_SET_ID}} is the ad set that spend joins, not {{CAMPAIGN_ID}}. See Connect Meta, Google, and LinkedIn Ads.
iframe embed
- Publish the web flow.
- Open Settings → Embed and copy the Embed Code (
<iframe …>). - Check Enable iframe mode when the agent runs inside an iframe (optimizes display).
See the deeper walkthrough: Setting Up SMOC Flow with iFrame and Tracking.
Forward UTMs to outbound links
Incoming UTMs on the Flow URL are stored for Console analytics. They are not copied onto outbound Link Message URLs unless you turn that on.
On a Link Message (or Open Graph link), enable Forward UTM & click IDs. When a visitor arrived with campaign parameters, the destination URL receives:
- All
utm_*keys (utm_source,utm_medium,utm_campaign,utm_term,utm_content, and any otherutm_prefix) - Ad click IDs:
gclid,fbclid,msclkid,ttclid,wbraid,gbraid
Rules:
- Off by default — existing published links do not change
- Parameters already on the destination URL are kept (destination wins)
- Empty values are skipped
- Studio preview does not forward
Example: a visitor opens https://go.smoc.ai/acme/flow/a?utm_source=ads&gclid=abc and clicks a link to https://shop.example/offer. With the setting on, they land on https://shop.example/offer?utm_source=ads&gclid=abc.
For iframe embeds, include smoc.js so parent-page UTMs reach the flow first. Then this setting can pass them on to the next site.
Card flows
A card flow’s public link ends in /cards. That page can show text and design above, beside, or below the card. The embed snippet uses the same path with iframe_mode=true, which shows the card alone so it fits a short iframe. Chat flows keep the bubble URL without /cards. Details: Card flows.
Channel honesty
Embeds and landing pages are web flow delivery. Chat and card are two formats of that web flow. Email/SMS/QR can link into the same web flow; they are distribution, not separate native conversation engines.
Related
Stay close to the shift in AI sales
Get product updates and perspective on proactive AI agents, multichannel orchestration, and conversion—without the noise.