# Otter Documentation

Guides for installing Otter, building A/B tests, and reading results.

Every page below also has a markdown version for AI agents — append `.md` to the URL.

## Getting Started

Get set up: install Otter, invite your team, secure your account, and manage billing.

- [Quick Start](https://www.otterab.com/docs/getting-started/quick-start): Drop the Otter snippet into your site and start running tests.
- [Integration Guides](https://www.otterab.com/docs/getting-started/integrations): Platform-specific install guides for Shopify, WordPress, and more.
- [WooCommerce Plugin](https://www.otterab.com/docs/getting-started/woocommerce): Install the official plugin to load the SDK and auto-track the WooCommerce commerce funnel, including revenue.
- [Project Settings](https://www.otterab.com/docs/getting-started/project-settings): Edit each project's name, URL, setup guide, timezone, and analytics forwarding from a single page.
- [Members & Roles](https://www.otterab.com/docs/getting-started/members-and-roles): Invite teammates with one of four roles (owner, admin, member, viewer). Each role controls a precise set of capabilities.
- [Signing In & Account Security](https://www.otterab.com/docs/getting-started/account-security): Sign in with a password or a passkey, add passkeys for safer logins, and reset a forgotten password.
- [Billing & Plans](https://www.otterab.com/docs/getting-started/billing-and-plans): Three plans (Starter, Growth, Scale), 14-day free trial, monthly or annual billing.
- [Excluded IPs](https://www.otterab.com/docs/getting-started/excluded-ips): Keep your team's traffic out of test results. Account-wide list of exact IPv4 or IPv6 addresses to mark as bot traffic.
- [Branding](https://www.otterab.com/docs/getting-started/branding): Set a company name, logo, and primary/secondary colors. Customization appears on public shared-report links.
- [Free Tools](https://www.otterab.com/docs/getting-started/free-tools): A free set of calculators, generators, and guides for planning and checking tests — no account required.

## Building Tests

Design experiments — pick a test type, choose pages, and define goals.

- [Creating a Test](https://www.otterab.com/docs/building-tests/creating-a-test): Test types, the six-step wizard, and how variants are configured.
- [URL Matching](https://www.otterab.com/docs/building-tests/url-matching): Choose which pages each test runs on — exact, simple, contains, wildcard, regex.
- [Visual Editor](https://www.otterab.com/docs/building-tests/visual-editor): Build variants by editing your live site in a popup window. Apply changes to one element or all matching instances. 15-minute signed sessions, scoped to your verified project's domain.
- [Preview Bar](https://www.otterab.com/docs/building-tests/preview-bar): A bottom toolbar that lets you view your live site as any test → variant, emulate devices, and watch your goals fire in real time — drafts included, results untouched.
- [Goals](https://www.otterab.com/docs/building-tests/goals): Pageview, click, custom event, revenue, and GA4 goal types.
- [Revenue & Currency](https://www.otterab.com/docs/building-tests/revenue-and-currency): Track money made by each version and report it in a single currency — Otter converts other currencies for you so the comparison is fair.
- [GA4 Integration](https://www.otterab.com/docs/building-tests/ga4-integration): Connect a GA4 property so you can use existing GA4 events as goals. OAuth flow, property selection, sync schedule, and limits.
- [Targeting](https://www.otterab.com/docs/building-tests/targeting): Filter who sees a test with AND/OR rules over 18 fields: location, device, traffic source, UTM tags, time, cookies, custom properties.
- [Test Lifecycle](https://www.otterab.com/docs/building-tests/test-lifecycle): Draft, running, paused, completed, archived — what each state means, which transitions are allowed, and when you can edit, delete, duplicate, or restore.
- [Stop Conditions](https://www.otterab.com/docs/building-tests/stop-conditions): Configure a test to auto-complete when it hits a visitor count, conversion count, or when a variant wins. Hands-off lifecycle management.
- [Scheduled Start & End](https://www.otterab.com/docs/building-tests/scheduled-tests): Auto-launch a draft at a future time. Auto-complete a running test at a future time. Both checked every 5 minutes; auto-start requires the test to be launch-ready.
- [Version History](https://www.otterab.com/docs/building-tests/version-history): Every meaningful draft edit creates a snapshot with an auto-generated summary. Restore any prior version into the current draft.
- [Custom CSS & JavaScript](https://www.otterab.com/docs/building-tests/custom-css-and-js): Drop bespoke CSS and JS into a test or variant when the visual editor isn't enough. Variant-scoped runs only for that variant; test-wide runs for everyone in the test (including the control).

## Analyzing Results

Read the results page with confidence and understand the math behind it.

- [Reading Results](https://www.otterab.com/docs/analyzing-results/reading-results): Frequentist and Bayesian analysis, confidence thresholds, and key fields.
- [Executive Summary](https://www.otterab.com/docs/analyzing-results/executive-summary): A plain-English card at the top of every results page that tells you, in one line, whether to ship the change, keep testing, or stop — and why.
- [Experiment Health](https://www.otterab.com/docs/analyzing-results/experiment-health): An automatic checklist on every results page that tells you whether your numbers are safe to trust yet, and what to fix if they aren't.
- [Segments & Breakdowns](https://www.otterab.com/docs/analyzing-results/segments): Slice your results down to a group of visitors — like mobile users or email traffic — to spot patterns. Powerful, with one important rule to use them honestly.
- [Comments](https://www.otterab.com/docs/analyzing-results/comments): Per-test discussion threads. Live updates, every role can post (including viewers), and authors can delete their own comments.
- [Activity Log](https://www.otterab.com/docs/analyzing-results/activity-log): Auto-recorded per-test history: lifecycle events, edits, restores, scheduled starts/ends, and stop-condition trips. Live-updates and shows who did what.
- [Chart Annotations](https://www.otterab.com/docs/analyzing-results/annotations): Pin dated notes to the results chart — like a deploy or a campaign — so you (and anyone you share with) understand the bumps and dips later.
- [Shared Reports](https://www.otterab.com/docs/analyzing-results/shared-reports): Public, read-only links to a test's results page. Optional password, optional expiry, revokable any time.
- [Exporting & Emailing Reports](https://www.otterab.com/docs/analyzing-results/exporting-reports): Download your results as a spreadsheet (CSV) or a PDF, and have a report emailed to anyone on a daily or weekly schedule.
- [Concepts](https://www.otterab.com/docs/analyzing-results/concepts): Variant assignment, statistical significance, and the anti-flicker snippet.

## Developer Reference

SDK methods, REST endpoints, and QA tooling for engineers.

- [SDK API Reference](https://www.otterab.com/docs/developer-reference/sdk-api): Methods on the global optimo object — track, identify, get variants, consent.
- [API Keys](https://www.otterab.com/docs/developer-reference/api-keys): Account-scoped bearer tokens for the REST API and MCP server. Pick scopes, restrict to specific projects, revoke when no longer needed.
- [REST API](https://www.otterab.com/docs/developer-reference/rest-api): HTTP endpoints for server-side integrations.
- [Notifications & Webhooks](https://www.otterab.com/docs/developer-reference/notifications): Send test events to Slack or your own webhook, and schedule a daily digest. Five event types, idempotent delivery, signed payloads.
- [Preview Mode](https://www.otterab.com/docs/developer-reference/preview-mode): Force a specific variant for QA and stakeholder review.
- [URL Parameters](https://www.otterab.com/docs/developer-reference/url-params): Debug, verify, opt out, and refresh the SDK with query strings.

Also see the [REST API reference](https://www.otterab.com/api-docs) and the [MCP integration guide](https://www.otterab.com/mcp-docs).
