Architecture Hierarchy
Core Entities
Channel
The technical name for a Shopify Store in the CreatorCommerce system. A channel is the brand or merchant that collaborates with creators. Key Relationships:- Has many Campaigns
- Has many Tiers (Collab Tiers)
- Has many Creators (through Collabs)
- Owns Products that creators can feature
Campaign
A marketing initiative that groups multiple collab tiers together. Key Relationships:- Belongs to one Channel
- Contains many Collab Tiers
- Defines redirect URL templates and query parameters
Tier (Collab Tier)
An assigned tier level to a collab that defines discount rates and relationship type (e.g., “Ambassadors”, “Influencers”, “Partners”). Key Relationships:- Belongs to one or more Campaigns
- Contains many Collabs
- Defines discount configuration and permissions
- Associated with a Channel
Collab (Collaboration)
An association between a creator and a channel. The core relationship structure connecting creators to brands. Key Relationships:- Belongs to one Creator
- Belongs to one Channel
- Has one Tier (Collab Tier)
- Has one Discount configuration
- Has many Drops
- May belong to one Campaign (through tier)
- Affiliate code for tracking
- Discount settings
- Onboarding status
- Shopify metadata (collections, metaobjects, customers)
Creator
An individual who collaborates with brands. Key Relationships:- Has many Collabs (with different channels)
- Has many Drops (across all collabs)
- Has one Shopify Metaobject
- May have Shopify Collections (one per drop)
- CreatorCommerce backend database
- Shopify Metaobject (type:
creator) - Shopify Customer account (optional)
Drop
A curated collection of products dedicated to collabs within channels. Each drop is a product collection recommended by a creator. Key Relationships:- Belongs to one Creator
- Belongs to one or more Channels
- Contains many Products (with Enhancements)
- Maps to one Shopify Collection
- Title and description
- Product list with enhancements
- Custom fields
- Media gallery
- Optional form template ID
Enhancement (Product Enhancement)
Product content fields within a drop within a collab within a channel. Additional content created by creators to personalize products in their drops. Key Relationships:- Belongs to one Drop
- Enhances one Product
- May specify a Product Variant
- Contains Media and Notes
- Creator’s note/review
- Media (images/videos)
- Variant-specific details
- Custom product-level fields
- Optional form template ID
Data Flow Patterns
Creator Onboarding Flow
Drop Creation Flow
Checkout Flow
Data Synchronization
CreatorCommerce ↔ Shopify
Shopify Metaobject (creator type)
- Primary source of truth for creator data
- Synced bidirectionally
- Contains all creator fields + drops data
- Accessible via Liquid templates
- Each drop maps to one collection
- Products automatically synced
- Used for product filtering and display
- Optional creator accounts
- Used for discount codes
- Linked via metadata
Sync Triggers
Real-time Sync:- Drop creation/update
- Product additions/removals
- Creator profile updates
- Metaobject enrichment workflows
- Collection product updates
- Analytics aggregation
Data Access Patterns
In Liquid Templates
On Metaobject Pages:Via API
REST API:/creators/collabs- Get/create/update collabs/creators/collabs/{collabId}/drops- Manage drops/creators/{creatorId}/drops/{dropId}/cart- Generate checkout URLs
- Metaobject queries
- Collection queries
- Product queries
Data Model Principles
1. Single Source of Truth
- CreatorCommerce backend is authoritative
- Shopify is synced presentation layer
- Metaobject mirrors backend data
2. Flexible Customization
- Custom fields at collab, drop, and product levels
- Brand-specific field configurations
- No rigid schema limitations
3. Relationship Integrity
- All relationships maintained in CreatorCommerce
- Shopify objects reference CreatorCommerce IDs
- Bidirectional sync maintains consistency
4. Performance Optimization
- Metaobjects cached by Shopify
- Collections pre-populated
- Lazy loading for media
Common Data Patterns
Drop Order Preservation
Drops are ordered via JSON indata.value.cc-creator-drops, not via collection order. Always iterate JSON first:
Product Matching
Products in drops are matched by Shopify product ID. Always convert to strings:Context Resolution
Creator context flows from cart attributes through the session:Related Documentation
- Creator & Collab Data Model - Deep dive into creator/collab structures
- Drops & Products Data Model - Drops and products architecture
- Shopify Integration Data Model - Metaobjects and collections
- Custom Fields Reference - Field configuration and access patterns