darwinchDarwinch / Installation

Connect your website. Preview your first change.

You will need access to your website’s code, DNS, and consent manager. The pilot supports one exact public HTTPS website origin per project, plus a separate delivery subdomain.

  1. Add your website

    Sign in with an email code, add the website origin, and choose a new delivery subdomain such as experiments.example.com. Keep existing services on their current hostnames. Apex and www are different origins.

  2. Verify ownership and TLS

    Copy both project-specific ownership TXT records from Website setup. Add a DNS-only CNAME from your delivery subdomain to collect.darwinch.com. Use “Check DNS and provision TLS” until the delivery hostname is active.

  3. Install and initialize the SDK

    Use your workspace’s generated installation snippet, which includes your project ID and verified delivery hostname. Allow that hostname in your website’s script and connection policies. Initialize after the page’s target mounts, using your bundled code or CSP nonce. The script alone does not initialize an experiment.

  4. Mark one plain-text target

    Choose a plain heading, link, or button, keep its original text in the page source, and add an explicit marker:

    <h1 data-darwinch="hero-title">Original headline</h1>

    Keep nested spans, icons, form controls, and editable content outside the marked target.

  5. Wire permission and the click goal

    Configure explicit public paths and connect sdk.setConsent(true) and sdk.setConsent(false) to your consent manager, defaulting off. Call sdk.convert('chosen-goal') after the defined click. Never send input values, tokens, user IDs, or sensitive content.

    For navigation clicks, wait for conversion with a short maximum delay so the link stays usable. Darwinch’s own pilot waits at most 600 milliseconds; browsers can still drop requests on close or network failure.

  6. Handle page navigation

    For single-page apps, call sdk.beforeNavigation() before route changes, sdk.refresh() after the eligible page mounts, and sdk.destroy() on teardown. Query strings and hash URLs are ineligible for ordinary measurement. Privacy signals and opt-out override permission.

  7. Preview, approve, then start

    Create the hypothesis, exact control, one variation, and primary click goal. AI suggestions are optional. Check both website preview links at desktop and phone widths, approve the revision, then explicitly start. Preview links last five minutes and record no measurement; keep them private.

  8. Confirm delivery and review the evidence

    Visit an eligible page with permission, confirm a successful exposure in Website setup, and exercise the goal. Review assignments, exposures, conversions, and uncertainty separately. A higher observed rate alone does not establish a winner.

Pause or remove delivery

Pause stops new enrollment and restores open pages within 15 seconds, including offline pages when the delivery lease expires. Remove the SDK to stop new delivery entirely. Withdraw permission to restore the original and request deletion of browser measurement; if deletion is not confirmed, contact the website owner.

Owners can delete a project after confirming its name. Remove the installed script and delivery DNS records afterward. Browser protections can block delivery; the original page remains usable.

Connect a website Return to Darwinch