first-party-data-collection
Build a first-party data strategy with progressive profiling, zero-party surveys, preference centers, and quiz-based product recommendations
Best use case
first-party-data-collection is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Build a first-party data strategy with progressive profiling, zero-party surveys, preference centers, and quiz-based product recommendations
Teams using first-party-data-collection should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/first-party-data-collection/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How first-party-data-collection Compares
| Feature / Agent | first-party-data-collection | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Build a first-party data strategy with progressive profiling, zero-party surveys, preference centers, and quiz-based product recommendations
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# First-Party Data Collection
## Overview
Third-party cookies are deprecated across all major browsers, and iOS tracking restrictions have cut paid signal quality by 30–60%. First-party data — information customers actively share with you — is now your most defensible marketing asset. This skill covers collecting preference data through quizzes, surveys, and preference centers, then using that data to personalize email, SMS, and product recommendations. Klaviyo and dedicated quiz apps make this achievable without custom development for most stores.
## When to Use This Skill
- When ROAS on Meta and Google is declining due to signal loss from tracking restrictions
- When launching a preference center as part of an email list health initiative
- When wanting to reduce generic emails in favor of category-specific recommendations
- When launching a loyalty or VIP program that requires enriched customer profiles
- When preparing for GDPR/CCPA compliance with a structured consent management system
## Core Instructions
### Step 1: Choose the right tool for each data collection touchpoint
| Touchpoint | Shopify Tool | WooCommerce Tool | Purpose |
|-----------|-------------|------------------|---------|
| Product quiz | Octane AI or Typeform | Typeform + WooCommerce or Quiz Maker plugin | Collect category preferences + recommend products |
| Preference center | Klaviyo Profile Management | Klaviyo + WooCommerce plugin | Let customers control email frequency and content |
| Post-purchase survey | Klaviyo post-purchase flow + Typeform | AutomateWoo + SurveyMonkey/Typeform | NPS, purchase motivation, product feedback |
| Progressive profiling | Klaviyo dynamic forms | Klaviyo + WooCommerce | Ask one question at a time across sessions |
| Birthday/size collection | Klaviyo signup forms | Any email form | Personalization and loyalty triggers |
### Step 2: Set up a product quiz for zero-party data
A product quiz collects preferences while immediately rewarding the customer with relevant recommendations — the highest-converting data collection method.
---
#### Shopify
**Using Octane AI (recommended for Shopify):**
1. Install Octane AI from the Shopify App Store
2. Go to **Octane AI → Quizzes → Create Quiz**
3. Build a 3-question flow (keep it under 4 questions to maintain completion rate):
- Q1: "What brings you here today?" (Self / Gift / Work)
- Q2: "Which categories interest you most?" (multi-select with your product categories)
- Q3: "What's your typical budget?" (Under $50 / $50-$100 / $100+)
4. On the results screen, connect each answer combination to specific Shopify collections or products
5. Under **Integrations → Klaviyo**, enable data sync — Octane AI automatically updates Klaviyo profile properties with quiz answers (e.g., `preferred_category: skincare`, `budget_range: 50-100`)
6. Place the quiz at: homepage, dedicated `/quiz` page, or as a popup for new visitors
**Using Typeform + Klaviyo:**
1. Create a Typeform quiz at typeform.com
2. Enable the Klaviyo integration in Typeform — quiz answers push to Klaviyo as custom profile properties
3. Embed the Typeform on a Shopify page using an embed block in your theme editor
4. In Klaviyo, use the quiz answers as segment conditions and personalization variables in emails
---
#### WooCommerce
1. Install **Quiz and Survey Master** (free WordPress plugin) or use **Typeform** embedded on a page
2. For product recommendations: configure the quiz to redirect to specific WooCommerce category pages based on answers
3. For Klaviyo sync: use the Klaviyo WooCommerce plugin and Typeform's Klaviyo integration
4. For Mailchimp: use Typeform's Mailchimp integration to tag subscribers with their quiz answers
---
### Step 3: Build a preference center
A preference center lets customers control what they receive — reducing unsubscribes while collecting valuable preference data.
---
#### Shopify with Klaviyo
1. Go to **Klaviyo → Sign-up Forms → Create Form**
2. Choose **Embedded Form** type (for a dedicated preferences page)
3. Add fields:
- **Email frequency**: radio buttons (Daily deals / Weekly digest / Special occasions only)
- **Favorite categories**: checkboxes for your product categories
- **Communication channels**: checkbox for SMS consent
4. Embed this form on a `/preferences` page in your Shopify store
5. Link to this page from every email footer: "Update your preferences" next to the unsubscribe link
6. Klaviyo automatically saves form submissions as custom profile properties — use these as segment conditions
**Alternative using Klaviyo's email preferences page:**
1. Every Klaviyo email includes an auto-generated preferences link
2. Customers can unsubscribe or adjust frequency from this page without any setup
---
#### WooCommerce
1. Use **Mailchimp** or **Klaviyo** and create an embedded form with preference fields
2. Host the form on a WordPress page (`/email-preferences`)
3. Link from email footers: "Manage your email preferences"
---
### Step 4: Set up progressive profiling
Ask one question at a time across different customer touchpoints — never ask for 10 fields at signup.
**In Klaviyo, create different forms for different triggers:**
- **Post-signup (immediate)**: "What should we call you?" — captures first name
- **Post-first-order (day 2 email)**: "When is your birthday? (We'll send a gift!)" — captures birth month
- **Third email opened**: "How often would you like to hear from us?" — captures frequency preference
- **After browsing apparel category**: "What's your size? We'll filter recommendations" — captures size
Each form is a separate Klaviyo sign-up form shown in the right context, updating the same customer profile properties.
### Step 5: Use collected data in personalization
Connect the data to actual campaigns — data that isn't used adds no value:
**In Klaviyo:**
- Use custom profile properties as **segment conditions**: "preferred_category equals skincare" → send only skincare product launches to this segment
- Use properties as **email personalization variables**: `{{ person.clothing_size }}` in a size guide email
- Use in **flow filters**: "Birthday month equals current month" → trigger a birthday discount flow
**Measuring data collection effectiveness:**
- Track profile completeness: go to **Klaviyo → Profiles** and check what percentage have the key properties filled in
- Target: 50%+ of active subscribers with at least 3 preference fields filled
- Compare email revenue per recipient for profiles with/without preference data — data-driven segments should be 2–4x higher
## Best Practices
- **Value exchange is mandatory** — always explain what the customer gets from sharing data ("so we can send fewer, more relevant emails" or "get personalized product recommendations")
- **Keep quizzes to 3 questions maximum** — quiz completion drops below 50% at 5+ questions; use progressive profiling to collect more over time
- **Quiz completion must lead to immediate value** — show product recommendations on the results page; do not just collect data without a reward
- **Data minimization** — only collect fields you actively use for personalization; every extra field is a privacy liability
- **Store consent with timestamp and method** — for GDPR compliance, log when and how each preference was set
- **Annual re-confirmation** — preferences go stale; send an annual "update your preferences" email to refresh data
## Common Pitfalls
| Problem | Solution |
|---------|----------|
| Quiz abandonment above 60% | Reduce to 3 questions maximum; show progress indicator; make it skippable |
| Profile data collected but never used in campaigns | Audit quarterly: for each profile field, identify which campaign uses it; remove fields that map to no campaign |
| Preference center causes more unsubscribes | Add "reduce frequency" option prominently — it prevents full unsubscribes |
| CCPA opt-out not propagating to ad platforms | In Klaviyo, go to Integrations and enable "Do not sync opted-out profiles to Facebook/Google" |
| Quiz answers not syncing to Klaviyo | Check integration connection in Octane AI/Typeform settings; verify custom properties are appearing in test profiles |
## Related Skills
- @email-list-segmentation
- @predictive-personalization
- @lifecycle-marketing-automation
- @email-marketing-automation
- @exit-intent-popupsRelated Skills
data-retention-policies
Automate the lifecycle of order and customer data — archive old records, anonymize personal data on request, and purge expired data on schedule
database-optimization-commerce
Speed up slow product and order queries with proper indexing, query analysis, read replicas, and search engine offloading strategies
ecommerce-data-warehouse
Build a commerce data warehouse with star-schema tables, ETL pipelines, and dbt models for BigQuery, Snowflake, or Redshift analytics
product-data-modeling
Structure your product catalog using your platform's native data model for variants, attributes, metafields, and product relationships
wishlist-save-for-later
Let shoppers save products to a wishlist, share it with friends, and get notified when saved items come back in stock or drop in price
storefront-theming
Build a themeable storefront with design tokens and CSS custom properties that supports white-labeling, multi-brand variants, and dark mode
search-autocomplete
Speed up product discovery with instant search suggestions, fuzzy typo matching, and category-aware results powered by Algolia or Elasticsearch
responsive-storefront
Build a mobile-first storefront with thumb-friendly navigation, sticky add-to-cart buttons, and touch-optimized components for high mobile conversion
recently-viewed-products
Show shoppers the products they recently browsed using browser storage so they can easily pick up where they left off on your store
quick-view-modal
Let shoppers preview product details and add items to cart from the listing page without navigating away, reducing friction in the shopping flow
product-page-design
Design high-converting product detail pages with image galleries, variant selectors, social proof, and clear calls-to-action that drive add-to-cart
product-comparison
Let shoppers select multiple products and compare them side-by-side in a table with highlighted differences to help them make the right buying decision