Analytics reference · ~12 minute read · Last updated 2026-05-05

Saved Segments in Admaxxer — cohort-based, multi-touch, MMM-aware

A saved segment is a reusable filter that combines one or more conditions on visitor, session, or payment data. Once saved, it appears in every dashboard's filter dropdown so anyone in the workspace can apply it. Admaxxer takes the same primitive that Datafast and Plausible expose, then layers on five things they don't: cohort-based segments (LTV decile, first-touch month, multi-touch path), multi-condition AND/OR grouping with up to five nested groups, workspace-shared visibility with role-aware permissions, MMM-input segments that scope channel-contribution modeling, and programmatic API access via segment_id.

What is a saved segment?

A saved segment is a named, reusable filter you can apply to any analytics view in Admaxxer. Instead of re-typing the same filter combinations every time you want to look at a slice of your traffic — “mobile sessions from the US that came from Meta paid ads in March” — you build the segment once, name it, save it, and apply it from a dropdown in every dashboard view. The segment is workspace-scoped, so once you've built it, every team member can apply it without re-creating the conditions.

Three things distinguish a saved segment from a one-off ad-hoc filter: it has a name (e.g., “Top-LTV decile, US only”), it's persisted in your workspace, and it's composable — the same segment can be applied to the Acquisition card, the Pages card, the Goals card, the Cohort card, the Forecast view, and even the MMM input. Segments are computed at query time via Tinybird WHERE clauses, so applying a segment to any dashboard view returns the filtered slice in single-digit seconds for <10M-event workspaces.

Conceptually, segments answer a different question than funnels. Funnels ask “how do visitors progress through my conversion sequence?” (see /documentation/conversion-funnels); segments ask “which slice of my visitors am I looking at right now?” They compose — you can apply a saved segment to a saved funnel and see the funnel report computed only for visitors matching the segment.

What you can filter on

The fields below are the actual conditions surfaced in the segment builder at /dashboard/analytics. Each maps to a column or computed expression in Tinybird's pixel_events, visitor_payments, or visitor_lifetime tables.

Source / medium

Geography

Device

Behavior

Revenue

Cohort

Goal

Identity

Custom (goal metadata)

Building a segment — 3-step UI walkthrough

The segment builder lives on the dashboard, accessible from any analytics view via the “+ New Segment” button in the top-right of the filter bar.

  1. Step 1: Open the segment builder. Navigate to /dashboard/analytics and click + New Segment. A side-drawer slides in from the right with an empty condition editor.
  2. Step 2: Add conditions with AND/OR groupings. Click Add condition to add a single rule (e.g., source = Meta). Click Add group to create a nested AND/OR block. Within a group, conditions are AND-ed by default; toggle to OR with the chip at the top of the group. Up to five nested groups are supported. As you add conditions, a live count preview at the bottom of the drawer shows how many visitors match in the current date window. The preview updates within 200ms of each edit (Tinybird pre-aggregations make this cheap).
  3. Step 3: Name and save. Give the segment a descriptive name (e.g., “Mobile Meta-paid US visitors, Black Friday 2026”) and click Save. The segment is now available in the filter dropdown of every dashboard view, every funnel, and every export, for every member of the workspace.

Example multi-condition segment: (source = Meta AND device = mobile) OR (campaign LIKE '%black-friday%'). The visual condition builder renders this as two grouped blocks — the first AND-ed inside, the two groups OR-ed together at the top level. Toggling between AND and OR is a single click; reordering groups is drag-and-drop.

The builder validates your conditions on save: if you reference a goal-metadata key that doesn't exist in any goal event, you'll see a yellow warning before save (the segment will save and apply, but match zero visitors until that key starts being emitted). If your conditions are mutually exclusive (e.g., country = US AND country = GB), you'll see a red error and save is blocked.

Where saved segments apply

Once saved, a segment is the same primitive across every analytics surface in Admaxxer:

One segment, applied everywhere. That's the productivity multiplier. The cost of building a thoughtful, named segment amortizes across every dashboard you read for the rest of the segment's life.

Cohort segments — Admaxxer-unique vs. Datafast

Datafast filters operate on session-level fields: source, device, country, page. They cannot filter on visitor-level cohort attributes — first-touch month, lifetime value bucket, or multi-touch path. Admaxxer can. This is the single biggest filter-feature delta between the two products.

Three cohort-segment patterns no other privacy-first analytics tool supports:

Why these matter: most operator decisions are about cohorts, not sessions. “Should I increase Meta spend?” is really “does the cohort I acquired from Meta retain and pay back?” That question is unanswerable in a session-only filter system; it's a one-segment, one-dashboard apply in Admaxxer.

Multi-condition AND/OR with grouping

Conditions in Admaxxer segments compose with AND and OR, with up to five nested groups. The visual condition builder makes this explicit: you see the actual logical structure of your filter as a tree of grouped chips, not as a flat list of conditions that the system silently AND-s together.

A few patterns that benefit from explicit grouping:

Each condition shows a live count preview in the builder before you save. If you've set up a condition that matches zero visitors in your current date window, you'll see 0 visitors in the preview and can re-check the rule before saving an empty segment.

Performance & limits

Sharing & permissions

Saved segments are workspace-scoped, not user-scoped. The moment you save a segment, every member of your workspace can see it in the filter dropdown and apply it. This is intentional — segments are most valuable when they're a shared vocabulary for the team, not a private library for the individual operator.

Role-based permissions on segments:

For multi-tenant workspaces (e.g., agencies managing multiple brands), each workspace has its own segment library. There is no cross-workspace segment sharing — segments are isolated per tenant by design. See /documentation/team for the full role and permissions model.

vs. Datafast — what Admaxxer adds

Datafast's filters surface is a clean, well-executed implementation of session-level filtering. Admaxxer's saved segments take the same primitive and add five layers DF doesn't expose:

Capability Datafast filters Admaxxer saved segments
UTM source / medium / campaign filtering Yes Yes (first- and last-touch)
Geo / device / browser filtering Yes Yes
Save filter as named, reusable segment Limited (one-off save) Yes (50/workspace, named, shared)
Multi-condition AND/OR with nested grouping Single AND chain Up to 5 nested groups, AND/OR per group
Cohort-based filters (LTV decile, first-touch month) No Yes
Multi-touch path filters (first-touch source AND last-touch source) No Yes
Goal-metadata filters (e.g., metadata.plan = 'pro') No Yes
Apply segment to MMM input (channel-contribution model) No (no MMM surface) Yes
Apply segment to conversion-funnel report No Yes
Workspace-shared visibility with role-aware permissions No (filters are user-scoped) Yes
Programmatic API access via segment_id No Yes
Backed by columnar OLAP scaling to 100M events Limits not documented Tinybird-backed; tested at 100M events

The MMM-input row is the highest-leverage delta: pairing a value-based cohort segment (e.g., “top-LTV decile”) with the channel-contribution model means you can ask “which channels drive my top-decile customers?” That's a question with hundreds of dollars per click of decision value, and it's not expressible in a session-only filter system.

API access

Saved segments are exposed under the public API at /api/v1/segments. The endpoint set:

Authentication is Bearer token; tokens are issued from /settings/api-keys. Rate limits and quota rules are documented in /documentation/developer.

Example: create a segment via curl

This creates a segment named “Top-LTV mobile US” matching mobile-device, US-country, top-decile-LTV visitors:

curl -X POST https://admaxxer.com/api/v1/segments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Top-LTV mobile US",
    "conditions": {
      "operator": "AND",
      "rules": [
        { "field": "device_type", "op": "=", "value": "mobile" },
        { "field": "country", "op": "=", "value": "US" },
        { "field": "ltv_decile", "op": "=", "value": "top" }
      ]
    }
  }'

# Response
# { "id": "seg_abc123", "name": "Top-LTV mobile US", "match_count": 1842, ... }

Example: apply a segment to an analytics endpoint

Pass the segment_id as a query parameter on any analytics endpoint to filter the response:

curl "https://admaxxer.com/api/v1/analytics/acquisition?segment_id=seg_abc123&date_from=2026-04-01&date_to=2026-04-30" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Returns the Acquisition view, filtered to the 1,842 visitors matching seg_abc123.

Five common segments to start with

Every workspace gets five seed segments out of the box. You can keep them, edit them, or delete them — they're a starting vocabulary, not a fixed library.

  1. “Paid Social — Meta only.” Conditions: first_touch_source = Meta AND first_touch_medium = paid. The cleanest way to look at your Meta-paid acquisition slice.
  2. “Mobile sessions, US visitors.” Conditions: device_type = mobile AND country = US. The single most common segment for US-focused DTC operators.
  3. “Black Friday campaign cohort.” Conditions: utm_campaign LIKE '%black-friday%' OR utm_campaign LIKE '%bf-2026%'. Edit the dates to your campaign window. Useful for post-mortem analysis of any time-bounded campaign.
  4. “Top-LTV decile.” Conditions: ltv_decile = top. The cohort that actually drives revenue. Apply this to your Acquisition card and you'll often see a different channel mix than your visitor-count Acquisition card — that delta is what most operators are missing.
  5. “First-time vs returning.” Two segments, actually: visitor_recency = new and visitor_recency = returning. Apply them side by side to a funnel or a cohort report to see how new and returning behave differently.

Troubleshooting common segment issues

Dashboard analytics cards · Conversion funnels · Custom goals · UTM best practices · Developer / API reference · Team & workspace permissions · Sales mismatch troubleshooting