Triple Whale Data Ontology (Conceptual Data Model)

This ontology (conceptual data model) defines how data in Triple Whale is organized at the business level.

It establishes shared language for the core business objects in the system, clarifies how those objects relate to one another, and shows how they map to data.


Core Business Objects

Each business object defines a distinct conceptual boundary—such as an entity, event, outcome, or analytical lens—that shapes which questions can be asked and which tables are valid representations.

For each object, we define:

  • The kinds of questions it supports
  • The expected level of detail (grain)
  • Which tables represent it
  • How to disambiguate it from nearby concepts

Some attributes—such as geography, device, or channel—appear across multiple business objects. Their meaning is defined by the object they’re applied to, rather than existing as independent objects themselves.


Store / Business

The top-level business entity representing the store as a whole, within which all activity, performance, and operations occur.

Typical questions“How is the business doing overall?”
“Is performance up or down this week?”
“What is our MER or blended ROAS?”
GrainOne store per day.
Primary table(s)blended_stats_tvf — daily snapshot combining orders, refunds, ads, and custom expenses
DisambiguationUse for top-line performance and daily summary metrics. Not appropriate for order-level detail, customer-level analysis, or customer paths.

Order

The canonical transactional record of a purchase, representing revenue truth for the business.

Typical questions“What revenue did we actually generate?”
“What was purchased?”
“How much was refunded?”
“What happened in shipping or fulfillment?”
GrainOne order, or one record directly tied to an order (such as a refund or shipment).
Primary table(s)orders_table — detailed transactional order records
refunds_table — refund transactions tied to orders
shipping_table — shipment status, cost, and destination context
DisambiguationUse for revenue truth, fulfillment, and financial reporting. Do not substitute attribution tables when you need canonical transactions.

Customer

A persistent customer identity representing an individual or account that interacts with the business over time.

Typical questions“How many customers do we have?”
“Are customers new or returning?”
“Which customers are most valuable over time?”
GrainOne customer identity, or one customer–segment record.
Primary table(s)customers_table — customer details used for lifecycle and segmentation analysis
customer_segmentation_table — which customers belong to which segment instances over time
customer_segmentation_analytics_tvf — performance and behavior metrics for a segment instance around a pinned date
DisambiguationUse for customer attributes, lifecycle analysis, and segmentation. Not appropriate for visit-level behavior (sessions) or campaign reporting (ads).

Product

A catalog entity representing what the business sells, including products and their variants.

Typical questions“Which products sell the most?”
“Which products drive revenue?”
“How do product attributes relate to performance?”
“How much revenue did specific products drive for orders with a given tag or source?”
GrainOne product or product variant, represented either as catalog attributes or as performance records over time.
Primary table(s)products_table — product catalog attributes
product_analytics_tvf — product and variant performance analytics
DisambiguationUse products_table to understand what the product is. Use product_analytics_tvf for standard product performance analysis. If product performance must be filtered or grouped by order-level attributes (e.g. order_tag, source_name), use orders_table and aggregate to product.

Subscription

A recurring billing relationship between the business and a customer.

Typical questions“How many active subscriptions do we have?”
“What are churn and retention trends?”
“How do subscriptions tie to orders?”
GrainOne subscription, or one time-based metrics record for a subscription.
Primary table(s)subscriptions_table — subscription entity details and lifecycle context
subscription_metrics_table — subscription activity and change metrics over time
DisambiguationUse for subscription state and lifecycle analysis. Join to orders when you need purchase-level detail or revenue impact.

Marketing Entity

A channel-native or partner-defined entity used to promote the business and measure marketing activity within its originating platform.

Typical questions

“How did my campaigns and messages perform?”
“What keywords or queries are driving discovery?”
“How are organic channels performing in terms of reach and engagement?”
“Which partners or affiliates are contributing value?”

Grain

One marketing entity defined by its source platform (such as a campaign, ad, creative, keyword, message, partner, or social post).
Varies by table: entities may appear as configuration records or as performance records over time.

Primary table(s)

Paid & lifecycle marketing
ads_table — cross-platform advertising entities and performance metrics
email_sms_table — email/SMS campaign performance metrics
email_sms_settings_table — message configuration and delivery/engagement stats
creatives_table — creative assets and creative-level performance context

Search marketing
keywords_table — paid-search keyword entities and performance metrics
search_terms_table — actual user search queries and discovery signals

Organic social & discovery
social_media_pages_table — page-level reach and engagement over time
social_media_posts_table — published posts and post-level engagement
social_media_comments_table — audience comments and interactions
social_media_mentions_table — public brand mentions and visibility signals

Partner channels
affiliates_table — affiliate entities and performance metrics
affluencer_hub_table — affluencer profiles, codes/links, spend, and time-series performance context

Disambiguation

Use for channel- or partner-reported performance and engagement. Not the system of record for transactional revenue. When you need modeled outcome linkage, move to Attribution.


Session

A single visit to the website, representing a discrete instance of traffic and on-site activity.

Typical questions

“How much traffic did we get?”
“Where did visitors come from?”
“What devices or times drive visits?”

Grain

One website session. Varies by table: some tables represent individual sessions, others represent session-level metrics aggregated over time.

Primary table(s)

sessions_table — session/visit records (timing, device, acquisition/source context)
web_analytics_table — on-site interaction analytics (page views and key actions)

Disambiguation

Use for traffic and visit behavior. Sessions describe visits, not customers, revenue truth, or marketing entities.


Customer Journey

A sequence of on-site behaviors and events that describe how users move toward or away from purchase.

Typical questions“What steps do shoppers take before purchasing?”
“Where do users drop off?”
“What specific actions are happening on site?”
GrainOne behavioral event, or one step in a sequence of user actions.
Primary table(s)customer_journey_table — step-by-step site journey from browsing and actions through purchase behavior
pixel_custom_events_table — custom on-site events you define
DisambiguationUse for on-site behavior and funnel/path analysis. Not a substitute for sessions when you need visit counts, and not a substitute for orders when you need revenue truth.

Attribution

An explanatory layer that connects marketing activity to outcomes such as purchases, revenue, and conversions.

Typical questions

“Which channels or campaigns are driving outcomes?”
“How does marketing relate to revenue and ROAS?”
“What purchases are tied to ad interactions?”
“What non-purchase conversions occurred?”

Grain

One order or conversion event with associated marketing context. Varies by table: some tables present order- or conversion-level records, while others present marketing-focused views that summarize attributed outcomes.

Primary table(s)

pixel_joined_tvf — unified marketing and transaction context for outcome analysis (revenue linkage, acquisition, ROAS)
pixel_orders_table — purchase outcomes enriched with ad-interaction context
pixel_custom_conversions_table — tracked non-purchase conversion events and their values

Disambiguation

Attribution is an explanation layer. These tables are not canonical transactional records and should not be used for finance or ops reconciliation.


Operations

Operations captures business-controlled inputs and changes that affect cost, execution, or interpretation of performance, but are not customer actions or marketing activity.

Typical questions“What changed operationally that could explain this trend?”
“What expenses outside ads and orders should we account for?”
GrainOne operational record, such as a cost entry or a system or activity log record.
Primary table(s)custom_spend_table — expenses not otherwise captured (often operational or overhead-related)
activities_table — log of user/system changes to campaigns, integrations, settings, and related entities
DisambiguationUse to understand operational drivers and non-transactional costs. Not a replacement for Store/Business summaries or transactional truth.

Customer Experience

Customer interactions outside the purchase flow, including support, feedback, and sentiment.

Typical questions

“What problems are customers having?”
“What are customers saying?”
“How responsive is our support?”

Grain

One customer-facing record (such as a ticket, message, review, or survey response). Varies by table: some tables provide aggregated customer support metrics.

Primary table(s)

cs_tickets_table — customer support cases and issue lifecycle
cs_messages_table — customer–business communications across channels
reviews_table — post-purchase product or service reviews and sentiment
customer_support_agg_metrics_table — aggregated support performance metrics

Disambiguation

Use to understand customer sentiment, issues, and support performance. Not a substitute for customer identity, orders, or attribution analysis.


Core Object Relationships

This section describes the fundamental ways the core business objects relate to one another.

These relationships reflect how an eCommerce business actually operates—customers place orders, marketing influences purchases, products ship, refunds adjust revenue—independent of reporting, analysis, or attribution models.

They establish a shared understanding of what connects to what, before asking why or how well.


Store / Business Relationships

The store (or business) is the top-level context in which all other objects exist.

FromRelationshipToDescription
Store / BusinesshasCustomersA store serves many customers
Store / BusinesshasOrdersAll orders belong to a store
Store / BusinessrunsMarketing EntitiesCampaigns, ads, emails, and partners are operated by the store
Store / BusinessoffersProductsProducts and variants belong to a store
Store / BusinessincursOperationsOperational changes and non-ad costs belong to the store
Store / BusinesshasCustomer ExperienceSupport, feedback, and sentiment belong to the store

Order Relationships

Orders are the canonical record of what was purchased.

FromRelationshipToDescription
OrdercontainsProductsAn order includes one or more products or variants
Ordermay receiveRefundsRefunds adjust the outcome of an order
Orderbelongs toCustomerEvery order is associated with a customer
Ordermay start or renewSubscriptionSome orders create or extend subscriptions

Customer Relationships

Customers represent people or accounts that interact with the business over time.

FromRelationshipToDescription
Customerbelongs toStore / BusinessCustomers purchase from stores
CustomerplacesOrdersA customer may place one or more orders
Customervisits viaSessionsA customer may have many site visits
Customermay haveSubscriptionsSome customers enter recurring billing relationships
Customerinteracts throughCustomer ExperienceSupport tickets, messages, and reviews are tied to customers

Product Relationships

Products represent what the business sells.

FromRelationshipToDescription
Productappears inOrdersProducts may be purchased in many orders
Productbelongs toStore / BusinessProducts are defined and managed by the store

Subscription Relationships

Subscriptions represent ongoing purchase relationships.

FromRelationshipToDescription
SubscriptiongeneratesOrdersSubscriptions may create recurring orders
Subscriptionbelongs toCustomerSubscriptions are owned by customers

Marketing Entity Relationships

Marketing entities represent how the business promotes itself.

FromRelationshipToDescription
Marketing EntitypromotesProductsCampaigns and messages promote products or offers
Marketing Entitymay influenceOrdersMarketing activity can contribute to purchases
Marketing Entitybelongs toStore / BusinessMarketing entities are owned and run by the store

Note - Marketing activity can influence outcomes, but does not create purchases directly.


Session Relationships

Sessions represent discrete visits to the site.

FromRelationshipToDescription
Sessionbelongs toStore / BusinessSessions occur within a store
Sessionsbelong toCustomersVisits are associated with a customer identity

Customer Journey Relationships

Customer journeys represent sequences of behavior that may lead to outcomes.

FromRelationshipToDescription
Customer Journeybelongs toCustomerJourneys are associated with a customer identity
Customer Journeyis explained byAttributionJourneys represent ordered attribution context
Customer Journeymay lead toOrdersSome behavior paths result in purchase

Attribution Relationships

Attribution provides context for how outcomes are connected to marketing activity.

FromRelationshipToDescription
AttributionlinksMarketing EntitiesAttribution connects outcomes to marketing touchpoints
AttributionexplainsOrdersAttribution provides context for why an order occurred
AttributionexplainsCustomersAttribution provides context for how a customer was acquired or influenced

Note - Attribution explains relationships; it does not replace orders as the record of purchase.


Operations Relationships

Operations capture business-controlled inputs and changes.

FromRelationshipToDescription
OperationsaffectsStore / BusinessOperational costs and changes affect overall performance
Operationsmay affectOrdersCosts or changes may influence order economics

Customer Experience Relationships

Customer experience objects capture interactions outside the purchase flow.

FromRelationshipToDescription
Customer Experiencerelates toCustomersSupport and feedback come from customers
Customer Experiencemay relate toOrdersIssues may reference specific purchases
Customer Experiencebelongs toStore / BusinessAll experience records belong to the store

Common Question Patterns by Persona

Different roles tend to start from different business objects, even when looking at the same data.

This section maps common business questions to the appropriate starting object in the ontology. Its purpose is to help users orient themselves conceptually—before selecting tables—so they avoid category errors (e.g. using attribution as revenue truth) and reason about results correctly.


Media Buyer

Focus: Channel-native performance and efficiency, with modeled outcome context.

  • “Which campaigns or ads should I scale or pause?” → Marketing Entity (channel-reported performance)
  • “Which channels or campaigns are driving purchases?” → Attribution (explanatory linkage to outcomes)
  • “What is my ROAS?” → Attribution (modeled) → sanity-check against Store / Business (blended context)

Media buyers primarily operate on marketing entities, using attribution to explain outcomes—not as revenue truth.


CRO Specialist

Focus: On-site behavior and conversion paths.

  • “Where are users dropping off?” → Session (visit-level behavior)
  • “What paths lead to conversion?” → Customer Journey (event-sequenced behavior)
  • “Which behaviors precede purchase?” → Customer Journey → Order

CRO analysis moves from behavioral objects toward orders, but does not treat behavior as transactional truth.


Retention Marketer

Focus: Customer lifecycle and repeat behavior over time.

  • “Who returns and how often?” → Customer
  • “What drives repeat purchases?” → Order (aggregated by customer)
  • “How do subscriptions affect retention?” → Subscription
  • “Are support issues impacting retention?” → Customer Experience → Customer

Retention questions start with persistent customer identity, not sessions or campaigns.


Creative Strategist

Focus: Asset-level performance and contribution to outcomes.

  • “Which creatives drive engagement?” → Marketing Entity (creative-level metrics)
  • “Which creatives contribute to revenue?” → Attribution (creative-to-outcome linkage)

Creative performance is evaluated through marketing entities, with attribution providing explanatory context.


Director of Marketing

Focus: Business-level performance, tradeoffs, and drivers.

  • “Is the business profitable at current spend?” → Store / Business
  • “Which channels actually move revenue?” → Attribution
  • “Did something operational change that explains this shift?” → Operations

This role moves fluidly between summary objects (Store) and explanatory layers (Attribution, Operations).


Operations Leader

Focus: Transactional truth, cost drivers, and executional complexity.

  • “What is true net revenue?” → Order / Refund (canonical truth)
  • “What changed operationally?” → Operations
  • “Which products or shipments drive cost or complexity?” → Product → Order → Shipping
  • “How is support performing?” → Customer Experience

Operations relies on canonical objects (orders, refunds, costs), not modeled or explanatory layers.