Skip to main content

Segmentation in Corksy

Overview

Segmentation in Corksy allows you to group customers based on operational, transactional, and behavioral data.

This article explains:

  • Where segmentation data comes from

  • The difference between static and dynamic segments

  • How and when data refreshes

  • What data fields are available

  • Clarifications based on common demo questions

Segmentation is designed to scale efficiently while abstracting underlying database complexity from end users.

Segmentation is currently in beta. The team is actively improving how segments are interpreted and populated, and an update to improve this behavior is in progress. If a segment's count looks lower than expected or a rule isn't populating the way you expect, that's the beta behavior — reach out to support and, if you need a reliable list in the meantime, use the Customers-page export workaround noted below.


Core Domains Supported

  • Customers

  • Memberships / Wine Club

    • Note: Migrated cancelled memberships do not sync

  • Orders (e-commerce, POS, manual, club)

    • Includes migrated orders

  • Order items

  • Order edits and refunds

  • Reservations

  • Customer behavior and engagement events

This supports both order-level and item-level segmentation.


When Is Data Written to ClickHouse?

Real-Time Sync

Segmentation data syncs from Corksy in near real time.

The following are synced automatically:

  • Orders (all channels)

  • Customers

  • Events

  • Club and membership updates

This ensures segmentation rules use the most recent operational data.


Initial Sync After Feature Enablement

When segmentation is enabled on an account:

  • A full initial sync occurs during the next scheduled sync cycle.

  • The scheduled sync job runs daily at 12:00 AM PST.


Daily Reconciliation Job

In addition to real-time syncing, a daily reconciliation job runs at:

12:00 AM PST

This job:

  • Verifies whether any records were missed

  • Automatically re-syncs failed or missing records

This ensures long-term data consistency and completeness.


Segmentation Types

Corksy supports two segmentation types, each with different behavior.


1. Static Segments

Static segments represent a fixed snapshot of customers at the time the segment is generated.

Behavior

  • Customers are captured once at creation.

  • The segment does not update automatically.

  • New qualifying customers are not added.

  • Customers who no longer qualify are not removed.

Best Used For

  • One-time campaigns

  • Historical exports

  • Fixed reporting snapshots


2. Dynamic Segments

Dynamic segments are continuously evaluated using the latest available data.

Behavior

  • Segment membership is recalculated using updated data.

  • Customers may be added or removed over time.

  • Segment counts may change based on new activity.


Dynamic Segment Refresh Behavior

When Is Data Evaluated?

For dynamic segments:

  • The segmentation list page does not fully evaluate rules.

  • Full rule evaluation happens when a segment is opened.


Refresh Button Behavior

  • The Refresh action updates only the segment count.

  • Opening the segment is not required to refresh the count.


Why Counts May Change

It is expected that:

  • The count shown before opening a segment may differ from the count shown after opening it.

  • This occurs because full rule evaluation runs when the segment is opened using the latest data.

This behavior is normal.


Segmentation Data Coverage

Segmentation operates on domain-level business data, not individual database tables.

Fields may be sourced from multiple ClickHouse datasets and are presented in a unified view.

Internal system tables are excluded.


Customer Data Fields

Customer segmentation supports:

  • Name, email, phone

  • Customer tags

  • Customer type (guest / registered / member)

  • Customer status

  • Lifetime value (LTV)

  • Total orders

  • Total spend

  • Last order date


Membership / Wine Club Data

Membership-based segmentation supports:

  • Club name

  • Membership name and level

  • Membership status (active, paused, cancelled)

  • Membership start and end dates

  • Customer–membership association

  • Membership shipping and billing addresses


Order Data (All Channels)

Order segmentation supports:

  • Order date and number

  • Order source (e-commerce, POS, manual, club)

  • Order total, subtotal, tax, shipping

  • Order frequency and recency

  • Refund and edit indicators


Order Item & Product Data

Item-level segmentation supports:

  • Product name / title

  • Product SKU

  • Quantity purchased

  • Item price

  • Total item value

  • Product-level purchase history


Customer Behavior & Engagement

Behavioral segmentation supports:

  • Cart abandonment status

  • Checkout activity

  • Page visit activity

  • Campaign engagement

  • Notification engagement


Reservation Data

Reservation-based segmentation supports:

  • Reservation date

  • Reservation status

  • Associated customer

  • Reservation activity history


External Platform Sync (Dynamic Segments Only)

Dynamic segments can sync with:

  • Klaviyo

  • Mailchimp

Sync Behavior

  • Sync runs once per day at 12:00 AM PST

  • New qualifying customers are added

  • Customers who no longer qualify are removed

  • Only dynamic segments are eligible for continuous sync

Static segments do not auto-sync after creation.

Need a reliable club-member list right now (e.g. for Klaviyo)? While segmentation is in beta, the most dependable way to pull your wine club members is to export directly from the Customers page: go to Customers, filter by Wine Club, and click Export. In the exported file, the "Accepts Marketing" column (column P) tells you which members are marketing-eligible.


Product Purchase Rule Clarification

"Customer Bought Product X"

When building segmentation rules based on product purchases:

  • If the product name is not provided exactly

  • And is not enclosed in quotation marks

Similar or partially matching product names may be included.

Best Practice

To ensure accurate results:

  • Use the exact product title

  • Enclose the product title in quotation marks

Example:

Customer bought product = "2022 Reserve Cabernet Sauvignon"

This prevents unintended matches when products have similar names.

"Bought one product but NOT another"

A common request is a list of customers who bought one specific wine but did not buy another specific wine (for example, bought the 2021 Cabernet Franc but not the 2022). Corksy does not currently support building that kind of "bought X and not Y" cross-product exclusion in a single segment or report. If you need this, contact support — it typically has to be assembled manually by exporting purchasers of each product and comparing the two lists.

Did this answer your question?