Runtime SDK

Paste this snippet on a live app so Hulahoop can open a session, record a visit, and turn real usage into the next move. The DSN is the ingest key and the property id, joined with a slash. Copy it from Connections in the console. The key alone does not open a session.

<script>
  window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({
    'pw.init': {
      dsn: 'YOUR_INGEST_KEY/your-property-id',
      ingestEndpoint: 'https://ingest.hulahoop.ai',
      sessionEndpoint: 'https://hulahoop.ai/api/session/start',
      environment: 'production',
      sessionReplay: true
    }
  });
</script>
<script async src="https://cdn.hulahoop.ai/websdk.js"></script>

Next.js App Router

Put the config in a real script that runs before the SDK. Use next/script with strategy beforeInteractive and dangerouslySetInnerHTML for the config, then load https://cdn.hulahoop.ai/websdk.js with afterInteractive. Do not import the CDN file into the client bundle. Keep the script ids hulahoop-config and hulahoop-sdk so a later install pass does not duplicate tags. Skip @hulahoop/next-proxy when the app already has middleware.

Privacy and control

Session replay is on in this snippet. Input values are masked by default. Set window.hulahoop_tracking to false to sleep the SDK. Session start is on hulahoop.ai. Ingest is on ingest.hulahoop.ai. Do not derive the session URL from the ingest host.