Request an audit

ClickTrail / integrations

Choose the conversion boundary

Browse by problem, runtime, conversion surface, destination, and evidence level. Every card links to a concrete path and shows what still needs a target-host test.

Start with the boundary that loses the signal

Problem

  • Arrival to persistence

    Lost click IDs

    Start with deterministic parsing, browser storage, and the verification flow when a tagged visit becomes direct later.

  • Form submissions

    Forms lose campaign context

    Use the form guide and the adapter that matches the installed form plugin, cache layer, and final record.

  • Commerce

    Orders show Direct

    Inspect WooCommerce order attribution, purchase events, consent, and provider receipt as separate surfaces.

  • CRM handoff

    CRM fields are blank

    Define the receiving record and use a generic webhook only when its request, response, retry, and record are observable.

  • Revenue

    Offline outcomes do not reconcile

    Use the offline conversion guide to define match keys, event time, correction, value, and destination acceptance.

Use the host your team can verify

Runtime

  • JavaScript / TypeScript

    JavaScript

    Use the pure parser and browser entry points when a JavaScript application owns capture and events.

  • Node.js 18+

    Node

    Build or merge canonical events in a Node service that owns the request and destination boundary.

  • Next.js application

    Next.js

    Keep capture SSR-safe and attach events at the Next.js route or server boundary you own.

  • Astro 4+

    Astro

    Use view-transition-aware client and server helpers while the host keeps consent and proxy ownership.

  • Nuxt 3+

    Nuxt

    Boot the browser SDK SSR-safely and use Nitro helpers only where the Nuxt host owns the boundary.

  • SvelteKit 2+

    SvelteKit

    Carry acquisition context through SvelteKit handles, navigations, and server conversion helpers.

  • Qwik / Qwik City

    Qwik

    Use resumability-friendly middleware and explicit server helpers without eagerly adding client work.

  • Svelte CLI / SvelteKit

    Svelte CLI

    Scaffold the SvelteKit hook and example endpoint, then verify the generated host code before use.

Map the record that counts

Conversion surface

  • WordPress / Gravity Forms

    Gravity Forms

    Use the server-side submission hook path and verify hidden fields, cached pages, AJAX rendering, consent, and the final entry.

  • WordPress / Contact Form 7

    Contact Form 7

    Use the Contact Form 7 submission boundary and verify shortcode fields, AJAX behavior, consent, mail, and the final record.

  • WordPress / WPForms

    WPForms

    Verify WPForms field mapping and submission lifecycle against the exact plugin, cache, consent, and CRM setup.

  • WordPress / Ninja Forms

    Ninja Forms

    Check Ninja Forms field names, lifecycle hooks, consent, cache, and CRM mapping before rollout.

  • WordPress / Elementor Forms

    Elementor Forms

    Verify Elementor form rendering, submission hooks, consent, cache, and the final stored or forwarded record.

  • WordPress / Fluent Forms

    Fluent Forms

    Use the WordPress form path with the exact Fluent Forms version and hook contract under test.

  • Shopify storefront and checkout

    Shopify

    Use this page to scope a Shopify implementation, but do not treat it as a native ClickTrail adapter until one exists and is verified.

  • WordPress / WooCommerce

    WooCommerce

    Inspect WooCommerce order attribution and purchase events separately from any downstream provider receipt.

  • Browser or workflow

    Formbricks

    Treat survey or feedback responses as a conversion surface only after the host defines field ownership and consent.

  • Typeform embed or webhook

    Typeform

    Treat Typeform responses as an external form boundary and verify the response webhook, consent, and CRM mapping.

  • Calendly embed or webhook

    Calendly

    Scope Calendly as a booking boundary and verify the webhook or embed event before describing it as a native adapter.

Separate configured delivery from provider support

Destination

  • Browser or server

    PostHog

    Map ClickTrail events to PostHog only after the host has defined consent, event ownership, and a provider receipt.

  • Browser dataLayer

    Google Tag Manager

    Push canonical events to a host-owned dataLayer and let the GTM container own tag routing and destination mapping.

  • Node, WordPress, or tagging server

    Server-side GTM

    Use ClickTrail as an event and delivery input to a tagging server you already own. It does not create or operate that server.

  • Webhook or server

    HubSpot

    Map a verified ClickTrail payload to HubSpot only when the CRM owner has approved fields, authentication, and lifecycle semantics.

  • Webhook or server

    Twenty

    Scope a Twenty CRM mapping around the record and stage that the sales team considers authoritative.

  • Browser or server

    Chatwoot

    Attach approved acquisition context to a Chatwoot conversation only after the inbox owner defines identity and retention rules.

  • Webhook or server

    Odoo

    Define the Odoo lead or opportunity field that receives the canonical source context and verify the final record.

  • Webhook or server

    PipeRun

    Treat PipeRun as a generic CRM endpoint until a provider-specific adapter and accepted record are documented.

  • Server or WordPress

    Generic CRM webhook

    Use a generic webhook only when the receiving CRM contract, authentication, retry behavior, and final record are observable.

  • Server or WordPress delivery

    HubSpot webhook

    Map a canonical event to a HubSpot webhook only after authentication, field ownership, consent, and receipt are defined.

  • n8n workflow

    n8n

    Use the n8n community node for lead and conversion operations, then prove the workflow's final record and retry behavior.

  • Activepieces

    Activepieces

    Use the ClickTrail piece actions only after the workflow owner defines consent, error, and destination handling.

  • Directus extension

    Directus

    Use the Directus extension at the collection or flow boundary that owns the business record.

  • Typebot block logic

    Typebot

    Map bot variables to the canonical payload and keep the send guarantee separate from a provider receipt.

  • Browser or server

    REST API

    Use a generic REST endpoint as an explicit boundary with request, response, retry, and final-record evidence.