# Check delta processing status
Source: https://docs.pureclarity.com/api-reference/data-feeds/check-delta-processing-status
/integrations/custom/api-reference/openapi.yaml post /api/deltastatus
Check the processing status of one or more previously submitted delta updates
using the tokens returned from the `/api/delta` endpoint.
# Check product feed processing status
Source: https://docs.pureclarity.com/api-reference/data-feeds/check-product-feed-processing-status
/integrations/custom/api-reference/openapi.yaml post /api/productfeedstatus
Check the processing status of previously submitted product feed imports
using the tokens returned from the feed submission endpoints.
# Submit a product delta update
Source: https://docs.pureclarity.com/api-reference/data-feeds/submit-a-product-delta-update
/integrations/custom/api-reference/openapi.yaml post /api/delta
Submit incremental product updates without resubmitting a full feed.
Use this endpoint to add, update, or delete products, manage category
assignments, update account-specific pricing, and update user data.
Returns a token that can be used to check the processing status via
the `/api/deltastatus` endpoint.
# Submit a product feed URL
Source: https://docs.pureclarity.com/api-reference/data-feeds/submit-a-product-feed-url
/integrations/custom/api-reference/openapi.yaml post /api/productfeed
Submit a URL where PureClarity can download a full JSON product feed.
The feed is processed asynchronously, so the URL must remain accessible
for at least 24 hours after submission.
# Forget a user (GDPR)
Source: https://docs.pureclarity.com/api-reference/gdpr/forget-a-user-gdpr
/integrations/custom/api-reference/openapi.yaml post /api/user/forget
Submit a request to remove all identifiable data for a specific user
from PureClarity. This supports GDPR right-to-erasure compliance.
Once submitted, PureClarity schedules a task to remove all potentially
identifiable data, including any associated email addresses. Forgotten
email addresses are stored as hashed values for deduplication purposes.
**This action is irreversible.** Once a user has been forgotten, their
data cannot be restored.
# Server-side personalization request
Source: https://docs.pureclarity.com/api-reference/server-side/server-side-personalization-request
/integrations/custom/api-reference/openapi.yaml post /api/serverside
Submit tracking events and retrieve personalized zone content from the server side.
This endpoint combines event tracking with zone content retrieval in a single request,
making it suitable for server-side rendered applications.
Visitor and session IDs should be persisted as cookies on the end user's browser:
- `pc_v_{access_key}` for the visitor ID
- `pc_sessid_{access_key}` for the session ID
# Analytics Overview
Source: https://docs.pureclarity.com/features/analytics/overview
Comprehensive analytics suite providing insights into site performance, campaign effectiveness, content engagement, zone optimization, and email campaign success
PureClarity provides a comprehensive analytics suite that gives you deeper insights into your site's performance, helping you optimize the personalized experience for better customer engagement and increased profitability.
## Site Analytics
Here you can see a deeper view of site statistics than just the dashboard showed you, showing you the trends over time.
Site analytics provide historical trend data to help you understand long-term performance patterns and make data-driven decisions about your site optimization.
## Campaign Analytics
The Campaign analytics will give you insights into how all your Campaigns are performing collectively.
Remember those tags from earlier? Now you can see how each tag is performing. For example, if you have two Campaigns aimed at first-time visitors, you'll be able to see how those are doing altogether, rather than each campaign on its own.
Use campaign tags to group related campaigns and analyze their collective performance. This helps you understand which types of campaigns work best for different customer segments.
## Content Analytics
This area is where you can see how each component of your website is performing.
See which products, categories and brands are most viewed compared to most purchased to see which could use a boost. Click on individual products to see the performance stats on an individual level, including which products are frequently bought together with it.
### Key Content Insights
* **Product Performance**: Compare view-to-purchase ratios to identify conversion opportunities
* **Category Analysis**: Understand which product categories drive the most engagement
* **Brand Performance**: See how different brands perform across your site
* **Cross-selling Opportunities**: Discover products frequently bought together
You have the option to time-slice as needed to get the full grasp of performance across different periods.
## Zone Analytics
This part of the admin gives you a breakdown of which Zones of your site perform well and which don't.
Zone analytics help you understand:
* Which areas of your site generate the most engagement
* Where customers spend the most time
* Which zones drive conversions
* Areas that may need optimization
## Email Analytics
You can track view rates and click conversions using the Email Analytics to determine the success of your email campaigns.
### Email Metrics Include:
* **Open Rates**: How many recipients opened your emails
* **Click-through Rates**: Engagement with email content
* **Conversion Tracking**: Sales generated from email campaigns
* **Performance Trends**: Email campaign effectiveness over time
Email analytics help you optimize your email marketing strategy by showing which campaigns drive the best results and which may need improvement.
## Additional Analytics Resources
These guides will help you through the setup process and help you explore what you can achieve with our analytics feature:
* [How to use your Product Analytics](/features/analytics/product-analytics)
* [Understanding the Recommender ROI report](/support/general/product-attribution)
Regular analysis of your PureClarity analytics helps you continuously improve personalization effectiveness and maximize ROI from your campaigns.
# Product Analytics Guide
Source: https://docs.pureclarity.com/features/analytics/product-analytics
Learn how to leverage PureClarity's product analytics to make data-driven decisions for personalization and customer experience optimization
PureClarity collects a wide range of analytics that can help you make the personalized experience more rewarding for your customers and more profitable for you.
## Understanding Product Analytics
Product analytics in PureClarity provide deep insights into how your products perform across different metrics, helping you understand customer behavior and optimize your product strategy.
### Key Product Metrics
**View-to-Purchase Ratios**
* Track which products get the most views but lowest conversion rates
* Identify products that may need better positioning or promotion
* Understand which products naturally convert well
**Product Performance Trends**
* Monitor how individual products perform over time
* Identify seasonal trends and buying patterns
* Track the impact of promotions and campaigns
**Cross-selling Insights**
* Discover which products are frequently bought together
* Identify opportunities for product bundling
* Understand customer purchase patterns
## Using Data Explorers
Data Explorers provide advanced analytics capabilities that allow you to dive deep into your product data and customer behavior patterns.
Find out more about Data Explorers by reading our [Data Explorers Overview](/support/general/data-explorers-overview) article.
### Data Explorer Features
**Custom Reporting**
* Create custom reports based on specific metrics
* Filter data by date ranges, customer segments, or product categories
* Export data for further analysis
**Behavioral Analysis**
* Understand how customers interact with your products
* Track customer journeys from discovery to purchase
* Identify drop-off points in the customer experience
**Segment Performance**
* Compare how different customer segments interact with products
* Understand which products appeal to specific audience types
* Optimize product recommendations for different segments
## Actionable Insights
### Product Optimization
**Underperforming Products**
* Identify products with high views but low conversions
* Consider improving product descriptions, images, or pricing
* Test different positioning strategies
**High-Converting Products**
* Understand what makes certain products successful
* Apply successful strategies to similar products
* Use high-converting products to drive traffic to related items
**Seasonal Trends**
* Plan inventory and promotions based on historical data
* Prepare marketing campaigns for peak seasons
* Adjust recommendations based on time of year
### Personalization Enhancement
**Recommendation Optimization**
* Use analytics to improve recommendation algorithms
* Identify which product combinations work best
* Optimize recommendation placement and timing
**Customer Journey Mapping**
* Understand how customers discover and purchase products
* Identify opportunities to improve the path to purchase
* Optimize the customer experience based on behavior patterns
Regular review of product analytics helps you stay ahead of trends and continuously improve your personalization strategy. Set up weekly or monthly reviews to track performance and identify opportunities.
## Best Practices
### Regular Monitoring
* Check product analytics weekly to identify trends early
* Set up alerts for significant changes in performance
* Monitor the impact of campaigns and promotions
### Data-Driven Decisions
* Use analytics data to guide product placement decisions
* Base recommendation strategies on actual performance data
* Test hypotheses with A/B testing when possible
### Cross-Platform Analysis
* Compare performance across different channels
* Understand how product performance varies by traffic source
* Optimize product presentation for different platforms
Product analytics are most effective when combined with other PureClarity features like campaigns, segments, and zones. Use the insights to create more targeted and effective personalization strategies.
# Campaign Attribution and Click Tracking
Source: https://docs.pureclarity.com/features/campaigns/attribution-clicks
Advanced guide to campaign attribution, revenue tracking, audience building, and customer interaction analytics for optimization
Campaign attribution enables sophisticated tracking of customer interactions with your personalized content, providing valuable insights for optimization and clear measurement of personalization ROI.
PureClarity automatically tracks recommender performance and allows custom attribution for content campaigns, creating comprehensive analytics for data-driven optimization.
## Recommender Campaign Attribution
### Automatic Tracking for Recommenders
**Click tracking**: Every product recommendation click is automatically recorded
**Purchase attribution**: Sales are linked back to the recommender that influenced them\
**Revenue calculation**: Dollar value of attributed purchases contributes to campaign ROI
**Performance analytics**: Zone and campaign-level revenue reporting available
### Click Total Metrics
**Zone-level attribution**:
* **Revenue per zone**: Total sales attributed to each website location
* **Conversion rates**: Percentage of clicks that result in purchases
* **Average order value**: Purchase size from recommendation clicks
* **Performance comparison**: Relative effectiveness across zones
**Campaign-level insights**:
* **Individual campaign ROI**: Revenue generated by specific campaigns
* **Customer segment performance**: How different audiences respond
* **Product performance**: Which recommended products convert best
* **Time-based analysis**: Performance trends over different periods
Access detailed recommender analytics through the specialized Recommender ROI analytics page for comprehensive performance analysis.
## Content Campaign Attribution
For non-recommender campaigns, you can configure custom attribution to track interactions and build customer audiences based on engagement.
### Attribution Types
Configure what happens when customers interact with campaign content:
**Audience Attribution**
* **Automatic segmentation**: Add customers to predefined audiences
* **Behavioral targeting**: Create segments based on interaction types
* **Journey tracking**: Map customer progression through content
* **Persistent membership**: Once assigned, customers remain in audiences
**Product Attribution**
* **Product relationship**: Link content interactions to specific products
* **Revenue tracking**: Credit sales to content that influenced purchases
* **Cross-sell attribution**: Track how content drives related product sales
* **Conversion measurement**: Measure content effectiveness for specific products
**Custom User Attributes**
* **Preference tracking**: Record customer choices and interests
* **Behavioral data**: Capture interaction patterns and engagement
* **Dynamic updating**: Attributes change based on latest interactions
* **Segmentation foundation**: Use attributes for future targeting
## Audience Attribution Implementation
### Creating Interaction-Based Audiences
**Setup process**:
1. **Define audience name**: Clear, descriptive identifier for the segment
2. **Configure content**: Set up campaign elements that trigger audience addition
3. **Test interaction**: Verify attribution works correctly
4. **Monitor growth**: Track audience size and engagement over time
**Example implementation**:
```
Campaign: Gender preference discovery
Content: Images showing male and female products
Attribution:
- Male runner image → "male-running" audience
- Female runner image → "female-running" audience
```
**Use cases for audience attribution**:
* **Style preferences**: Fashion, color, or design preferences
* **Product interests**: Category or brand affinities
* **Engagement levels**: Content interaction frequency
* **Purchase intent**: Interest indicators for future targeting
### Audience-Based Personalization
**Creating targeted experiences**:
* **Audience-specific campaigns**: Show different content to different groups
* **Progressive personalization**: Refine targeting as you learn about customers
* **Cross-channel consistency**: Use audiences across email, web, and other channels
* **Lifecycle marketing**: Target customers based on journey stage
**Advanced audience strategies**:
* **Combination targeting**: Use multiple audiences for precise targeting
* **Exclusion targeting**: Show content to everyone except specific audiences
* **Temporal audiences**: Time-based audience membership for seasonal targeting
* **Behavioral sequences**: Multi-step audience progression based on actions
## Product Attribution Setup
### Linking Content to Products
**Direct product attribution**:
* **Product-specific content**: Images, videos, or text about particular products
* **Purchase tracking**: Credit sales to content that showcased the product
* **Cross-sell measurement**: Track how content drives related product interest
* **Content ROI**: Measure revenue impact of product-focused content
**Implementation example**:
```
Campaign: Featured shoe promotion
Content: Hero image of specific shoe model
Attribution: Product ID for featured shoe
Result: Any purchases of that shoe are credited to the campaign
```
### Revenue Attribution Benefits
**Campaign performance measurement**:
* **Content effectiveness**: Which campaigns drive the most revenue
* **Creative optimization**: Which content formats and styles work best
* **Placement insights**: Where product-focused content performs best
* **ROI justification**: Clear business case for personalization investment
**Strategic decision making**:
* **Content investment**: Focus resources on highest-performing content types
* **Product promotion**: Identify most effective ways to showcase products
* **Audience insights**: Understand which customers respond to product content
* **Channel optimization**: Compare content performance across different placements
## Custom User Attributes
### Dynamic Preference Tracking
**Attribute configuration**:
* **Attribute name**: Descriptive identifier for the customer property
* **Value setting**: What value gets assigned based on interaction
* **Update behavior**: How new interactions modify existing values
* **Persistence**: How long attribute values remain active
**Example quiz implementation**:
```
Campaign: Beverage preference quiz
Content: Tea, Coffee, Juice buttons
Attribution:
- Tea button → drink-type = "tea"
- Coffee button → drink-type = "coffee"
- Juice button → drink-type = "juice"
```
### Attribute-Based Segmentation
**Creating attribute segments**:
* **Value-based criteria**: Customers with specific attribute values
* **Multi-attribute logic**: Combine multiple attributes for precise targeting
* **Dynamic updating**: Segments automatically update as attributes change
* **Cross-campaign usage**: Use attributes across multiple campaign types
**Advanced attribute strategies**:
* **Preference scoring**: Numerical attributes for ranking customer interests
* **Behavioral indicators**: Attributes that indicate purchase intent or engagement
* **Demographic proxies**: Inferred demographic information from interactions
* **Journey stage tracking**: Attributes that indicate where customers are in buying process
## Analytics and Measurement
### Attribution Reporting
**Performance dashboards**:
* **Attribution overview**: Summary of all campaign attribution activity
* **Revenue impact**: Total sales influenced by attributed interactions
* **Audience growth**: How interaction-based segments are developing
* **Conversion funnels**: Path from attribution to purchase
**Detailed analytics**:
* **Time series analysis**: Attribution performance over time
* **Segment comparison**: How different audiences respond to attribution
* **Content performance**: Which attribution strategies work best
* **ROI calculation**: Return on investment for attribution-enabled campaigns
### Optimization Based on Attribution Data
**Performance insights**:
* **High-value interactions**: Which attributions lead to highest revenue
* **Audience quality**: Which audiences have highest conversion rates
* **Content effectiveness**: Which attribution approaches work best
* **Timing optimization**: When customers are most likely to respond
**Strategic adjustments**:
* **Attribution refinement**: Improve attribution accuracy and relevance
* **Audience expansion**: Identify opportunities for new audience creation
* **Content optimization**: Adjust content based on attribution performance
* **Campaign evolution**: Use insights to develop more effective campaigns
## Best Practices for Attribution Success
### Setup Recommendations
**Clear naming conventions**:
* **Descriptive names**: Use clear, consistent naming for audiences and attributes
* **Organized structure**: Group related attributions logically
* **Documentation**: Maintain records of attribution purposes and goals
* **Team communication**: Ensure all team members understand attribution strategy
### Performance Monitoring
**Regular review schedule**:
* **Weekly checks**: Monitor attribution activity and immediate performance
* **Monthly analysis**: Deep dive into attribution trends and patterns
* **Quarterly strategy**: Review and adjust attribution approach based on learnings
* **Annual planning**: Incorporate attribution insights into broader strategy
**Optimization cycles**:
* **Test and learn**: Experiment with different attribution approaches
* **Data-driven decisions**: Use attribution data to guide campaign strategy
* **Continuous improvement**: Refine attribution based on performance insights
* **Scale successful patterns**: Expand effective attribution strategies
Campaign attribution transforms customer interactions into valuable data and actionable insights, enabling increasingly sophisticated personalization that drives both customer satisfaction and business results. Use attribution strategically to build comprehensive customer understanding and measure the true impact of your personalization efforts.
# Campaign List Management
Source: https://docs.pureclarity.com/features/campaigns/campaign-list
Comprehensive guide to managing and organizing your PureClarity campaigns with filtering, status control, and optimization strategies
The Campaign List is your central hub for managing all personalization campaigns across your site. Access it by clicking **Campaigns** in the main menu to view, organize, and control all active and inactive campaigns.
The Campaign List provides a complete overview of where each campaign appears, who sees it, and how it's performing across all zones and customer segments.
## Getting Started with Campaigns
### First-Time Setup
If you haven't created any campaigns yet, PureClarity offers automated campaign creation options tailored to your e-commerce platform:
**Automated setup benefits:**
* **Platform-optimized campaigns**: Pre-configured for your specific e-commerce system
* **Multi-page coverage**: Campaigns for homepage, product pages, cart, and category pages
* **Immediate functionality**: Ready-to-use recommendations with no additional configuration
Start with 1-2 recommendation campaigns to test performance before scaling to full site coverage.
### Campaign Types Available
**Embedded Recommender Campaigns**
* **Integration**: Appear seamlessly within your site's existing design
* **Placement**: Display in zones automatically added to your pages
* **Customization**: Zones can be repositioned based on your design preferences
* **User experience**: Natural integration with site content flow
**Floating Recommender Campaigns**
* **Position**: Appear at bottom of pages as overlay content
* **Advantage**: No site design modifications required
* **Visibility**: Always visible to customers regardless of page scroll
* **Engagement**: Higher visibility can increase customer interaction rates
Floating campaigns are ideal for stores that want personalization without altering existing page layouts.
## Campaign List Interface
### List View Organization
The campaign list displays essential information for quick management:
| Column | Information | Purpose |
| ---------------- | ----------------------------------------- | ------------------------------------------ |
| **Location** | Shows target zones and pages | Quick identification of campaign placement |
| **Audience** | Displays target customer segments | Understanding campaign reach |
| **Content Type** | Indicates campaign content category | Content strategy overview |
| **Status** | Published/unpublished with toggle control | Real-time campaign activation |
| **Actions** | Edit, duplicate, delete options | Campaign management tools |
### Filtering and Search
**Available filters:**
* **By page type**: Homepage, product pages, cart, category pages
* **By zone**: Filter campaigns for specific zones
* **By tag**: Group campaigns by season, goal, or marketing type
* **By status**: Active, inactive, or scheduled campaigns
* **By segment**: Campaigns targeting specific customer groups
Use tags consistently to group related campaigns (e.g., "BlackFriday2024", "NewCustomers", "HighValue") for easier performance analysis.
### Campaign Priority and Ordering
For each [zone](/features/zones/overview), campaigns are listed in the order PureClarity evaluates them:
**Priority determination:**
1. **Segment matching**: Most specific audience targeting
2. **Time sensitivity**: Limited-time campaigns take precedence
3. **Performance history**: Higher-performing campaigns get priority
4. **Manual ordering**: Custom arrangement through drag-and-drop
Campaign order directly affects what customers see. Higher-priority campaigns will display when multiple campaigns target the same zone and segment.
## Campaign Management Actions
### Quick Actions
**Toggle Campaigns On/Off**
* **Instant control**: Enable or disable campaigns without editing
* **A/B testing**: Quickly switch between campaign variants
* **Emergency stops**: Immediately pause underperforming campaigns
* **Seasonal activation**: Turn seasonal campaigns on/off as needed
**Bulk Operations**
* **Multiple selection**: Manage several campaigns simultaneously
* **Status changes**: Enable/disable multiple campaigns at once
* **Tag applications**: Apply tags to multiple campaigns for organization
* **Performance analysis**: Compare selected campaigns side-by-side
### Individual Campaign Actions
**Edit Campaign**
* **Content modification**: Update templates, targeting, and settings
* **Audience adjustment**: Refine customer segments and targeting
* **Scheduling changes**: Modify start/end dates and time restrictions
* **Performance optimization**: Adjust based on analytics insights
**Duplicate Campaign**
* **Template copying**: Create variations of successful campaigns
* **Multi-zone deployment**: Use same content across different locations
* **A/B testing setup**: Create campaign variants for testing
* **Quick iteration**: Build on proven campaign structures
**Delete Campaign**
* **Permanent removal**: Completely remove campaigns and associated data
* **Analytics retention**: Historical performance data remains available
* **Confirmation required**: Prevents accidental deletion
* **Immediate effect**: Changes take effect across all pages instantly
## Performance Monitoring
### Real-Time Status Indicators
**Campaign Health Metrics:**
* **Active status**: Green indicators for running campaigns
* **Performance alerts**: Yellow indicators for campaigns needing attention
* **Error states**: Red indicators for campaigns with issues
* **Scheduling status**: Blue indicators for future-scheduled campaigns
### Quick Performance Preview
**Key metrics visible in list:**
* **Click-through rates**: Customer engagement levels
* **Conversion rates**: Purchase completion from campaign interactions
* **Revenue attribution**: Direct sales impact from each campaign
* **Impression counts**: How often campaigns are displayed
Detailed performance analytics are available in the [Analytics section](/features/analytics/overview) for comprehensive campaign analysis.
## Organization Best Practices
### Tagging Strategy
**Recommended tag categories:**
* **Seasonal**: "Holiday2024", "Summer", "BackToSchool"
* **Purpose**: "Upsell", "CrossSell", "Retention", "Acquisition"
* **Performance**: "HighPerformer", "Testing", "Champion"
* **Product focus**: "Electronics", "Apparel", "NewProducts"
### Campaign Naming Conventions
**Effective naming patterns:**
* `[Zone]-[Audience]-[Content]-[Date]`
* Example: `HP-NewCustomers-TrendingProducts-Dec2024`
* Include purpose and target for quick identification
* Use consistent abbreviations across campaigns
### Regular Maintenance
**Weekly tasks:**
* **Performance review**: Check underperforming campaigns
* **Audience optimization**: Refine targeting based on engagement
* **Content freshness**: Update recommendations and content
* **Seasonal adjustments**: Activate/deactivate time-sensitive campaigns
**Monthly tasks:**
* **Complete performance analysis**: Deep dive into campaign metrics
* **Strategy adjustment**: Modify approach based on trends
* **New campaign planning**: Develop upcoming seasonal campaigns
* **Archive cleanup**: Remove outdated or unsuccessful campaigns
## Advanced Management Features
### Campaign Dependencies
**Zone relationships**: Understanding how campaigns interact within shared zones
**Segment overlap**: Managing campaigns that target similar audiences
**Content conflicts**: Avoiding duplicate or competing recommendations
**Performance cannibalization**: Ensuring campaigns complement rather than compete
### Automation Rules
**Auto-activation**: Campaigns that turn on/off based on inventory or events
**Performance thresholds**: Automatic pausing of low-performing campaigns
**Seasonal triggers**: Time-based activation for recurring campaigns
**Inventory-based control**: Campaign status linked to product availability
## Troubleshooting Common Issues
**Campaign not displaying:**
* Verify zone configuration on target pages
* Check audience segment criteria
* Confirm campaign is published and active
* Review scheduling settings for current date/time
**Low performance:**
* Analyze audience targeting specificity
* Review content relevance to target segment
* Check campaign placement and priority
* Compare with similar successful campaigns
**Display conflicts:**
* Review campaign priority ordering
* Check for overlapping audience segments
* Verify zone capacity and layout
* Test different time schedules to avoid conflicts
The Campaign List serves as your command center for personalization strategy, providing the tools and insights needed to optimize customer experiences and drive revenue growth across your entire site.
# Creating a Campaign
Source: https://docs.pureclarity.com/features/campaigns/creating-campaign
Step-by-step guide to creating effective PureClarity campaigns with targeting, content selection, and optimization strategies
Creating a campaign in PureClarity involves configuring who sees what content, where, and when. Click **Add Campaign** on the Campaign List to begin building your personalized customer experience.
PureClarity guides you through a series of configuration options that control the complete campaign behavior: audience targeting, placement, timing, and content selection.
## Campaign Creation Process
### Step 1: Define Campaign Location
**Select Target Zone**
Choose the [zone](/features/zones/overview) where your campaign will appear. Zones represent specific areas on your website where personalized content displays.
**Common zone types:**
* **Homepage zones**: Welcome areas, featured product sections
* **Product page zones**: Related products, alternative suggestions
* **Cart zones**: Upsell opportunities, recommended additions
* **Category zones**: Relevant products within specific categories
You can create new zones directly from the campaign creation interface. Remember to implement these zones in your e-commerce platform for them to appear on your site.
**Context Configuration**
Depending on your selected zone type, you may need to specify additional context:
* **Product groups**: Which product categories to target
* **URL patterns**: Specific pages or page types
* **Customer journey stage**: New visitors vs. returning customers
* **Behavioral triggers**: Actions that activate the campaign
### Step 2: Define Your Audience
**Select Customer Segment**
Choose the [customer segment](/features/segments/overview) that should see this campaign:
**Segment options:**
* **Everyone**: Universal campaigns visible to all visitors
* **New customers**: First-time visitors or recent sign-ups
* **Returning customers**: Previous purchasers or frequent visitors
* **High-value customers**: Based on purchase history or behavior
* **Custom segments**: Tailored audience criteria you've defined
Multiple campaigns can target the same zone with different segments, enabling sophisticated personalization where different customer types see different content.
**Creating New Segments**
If your desired audience doesn't exist, create a new segment directly:
1. **Define criteria**: Age, location, purchase history, behavior patterns
2. **Set conditions**: Combine multiple criteria with AND/OR logic
3. **Test segment size**: Preview how many customers match your criteria
4. **Save and apply**: Use immediately in your campaign
**Attribution Audiences**
PureClarity automatically creates "Audiences" segments when you set up attribution tracking:
* **High converters**: Customers with strong purchase patterns
* **Browser segments**: Customers who browse but don't purchase
* **Product affinity**: Customers interested in specific categories
* **Engagement levels**: Based on site interaction patterns
### Step 3: Schedule Campaign Timing
**Date and Time Controls**
Set when your campaign should be active:
**Start date/time:**
* **Immediate activation**: Leave blank to start immediately
* **Scheduled launch**: Set specific start date and time
* **Seasonal timing**: Coordinate with sales periods or events
**End date/time:**
* **Ongoing campaigns**: Leave blank for permanent campaigns
* **Limited-time offers**: Set specific end date and time
* **Event-based**: Align with promotional periods
Campaign timing is crucial for seasonal promotions. Set up Black Friday, Christmas, or sale campaigns in advance to ensure smooth activation.
**Use cases for timed campaigns:**
* **Flash sales**: 24-48 hour promotional periods
* **Seasonal promotions**: Holiday-specific product recommendations
* **Product launches**: Time-sensitive new product highlights
* **Inventory clearance**: Limited-time offers for specific products
### Step 4: Organization and Tracking
**Campaign Tags**
Use tags to group and organize related campaigns:
**Recommended tag categories:**
* **Season/Event**: "BlackFriday2024", "Christmas", "Summer"
* **Purpose**: "Upsell", "CrossSell", "Retention", "Acquisition"
* **Performance**: "Testing", "Champion", "Challenger"
* **Product focus**: "Electronics", "Fashion", "NewArrivals"
**Benefits of tagging:**
* **Performance analysis**: View aggregate performance across tagged campaigns
* **Seasonal management**: Easily activate/deactivate related campaigns
* **A/B testing**: Group test variations for comparison
* **Reporting**: Generate reports for specific campaign categories
**Campaign Notes**
Add internal notes for:
* **Strategy context**: Why this campaign was created
* **Performance expectations**: Target metrics and goals
* **Team communication**: Designer/marketer collaboration notes
* **Optimization history**: Changes made and results achieved
### Step 5: Content Selection
**Content Types Available**
**Recommenders**
AI-driven product recommendations based on customer behavior:
* **Automated recommendations**: PureClarity selects optimal products
* **Custom recommendations**: Manual product selection and curation
* **Hybrid approach**: Automated with manual override capabilities
**Static Content**
Fixed content for specific messaging:
* **Promotional banners**: Sales, offers, brand messaging
* **Educational content**: Product guides, how-to information
* **Brand storytelling**: Company values, sustainability messages
**Template Selection**
All content uses templates that control appearance and behavior:
**Template preview features:**
* **Visual preview**: See exactly how content will appear
* **Responsive design**: Preview across desktop, tablet, mobile
* **Behavior description**: Understanding of template functionality
* **Customization options**: Available settings and modifications
Start with PureClarity's pre-built templates, then create customized versions as you identify specific design needs.
**Template Customization**
Once you select a template, configure:
**Visual settings:**
* **Colors and fonts**: Match your brand aesthetic
* **Layout options**: Product grid, carousel, list formats
* **Image sizing**: Optimize for your product catalog
* **Call-to-action text**: Customize button labels and messaging
**Behavioral settings:**
* **Number of products**: How many recommendations to show
* **Minimum threshold**: Required number of products before display
* **Fallback behavior**: What to show when insufficient products available
* **Click tracking**: Enhanced analytics for performance monitoring
## Recommender Configuration
### Automated Recommendations
**Why choose automated:**
* **AI optimization**: Machine learning selects best products for each customer
* **Dynamic adaptation**: Recommendations improve based on customer interactions
* **Reduced maintenance**: No manual product selection required
* **Performance focus**: Algorithm optimizes for conversion and engagement
**Automated recommendation types:**
* **Similar products**: Based on current product or browsing
* **Frequently bought together**: Cross-sell opportunities
* **Trending products**: Popular items relevant to customer interests
* **Personal favorites**: Products matching individual customer preferences
### Custom Recommendations
**When to use custom:**
* **Specific promotional goals**: Highlighting particular products or brands
* **Editorial control**: Curated product selection for brand storytelling
* **Inventory management**: Promoting overstocked or featured items
* **Testing scenarios**: Comparing specific products against automated selections
**Custom setup options:**
* **Manual product selection**: Choose specific products to recommend
* **Category-based**: Select products from particular categories
* **Tag-based**: Use product tags for dynamic but controlled selection
* **Inventory rules**: Include/exclude based on stock levels
## Campaign Optimization Best Practices
### Performance Monitoring
**Key metrics to track:**
* **Click-through rate**: Engagement with campaign content
* **Conversion rate**: Purchases resulting from campaign interactions
* **Revenue per visitor**: Average value generated per campaign view
* **Audience overlap**: How segments interact with different campaigns
### Iterative Improvement
**Regular optimization tasks:**
* **A/B testing**: Compare different templates, targeting, or content
* **Audience refinement**: Adjust segments based on performance data
* **Content freshness**: Update products and messaging regularly
* **Timing optimization**: Adjust schedules based on customer behavior patterns
### Common Optimization Strategies
**Underperforming campaigns:**
* **Narrow audience targeting**: More specific segments often perform better
* **Refresh content**: Update products or messaging
* **Adjust placement**: Try different zones or page locations
* **Review timing**: Modify schedules for better audience alignment
**High-performing campaigns:**
* **Scale successful elements**: Apply winning strategies to other campaigns
* **Create variations**: Test similar campaigns with slight modifications
* **Expand to new zones**: Deploy successful campaigns to additional locations
* **Document learnings**: Capture insights for future campaign creation
## Technical Considerations
### Zone Implementation
**Before launching campaigns:**
* **Verify zone existence**: Ensure zones are implemented in your e-commerce platform
* **Test display**: Preview campaigns in target zones
* **Check responsive behavior**: Validate appearance across devices
* **Performance impact**: Monitor page load times with new campaigns
### Integration Requirements
**Platform-specific considerations:**
* **Shopify**: App blocks vs. manual zone implementation
* **Magento**: Widget placement and theme compatibility
* **WooCommerce**: Plugin integration and theme modifications
* **Custom platforms**: API integration and zone configuration
Campaign creation in PureClarity provides powerful tools for personalized customer experiences. Start with simple campaigns and gradually increase sophistication as you learn what resonates with your audience and drives the best business results.
# Campaign Overview
Source: https://docs.pureclarity.com/features/campaigns/overview
Understanding PureClarity campaigns and how they deliver personalized experiences to your customers
Campaigns in PureClarity are the foundation of personalized customer experiences on your website. They define what content your visitors see, when they see it, and how it's targeted to specific customer groups.
## Campaign Components
Each campaign consists of four key elements:
### 1. Location (Zone)
**Where** the campaign displays on your site using [zones](/features/zones/overview) - designated areas like headers, sidebars, or product pages.
### 2. Audience (Segment)
**Who** sees the campaign through [customer segments](/features/segments/overview) - groups based on behavior, demographics, or purchase history.
### 3. Timing
**When** the campaign appears - schedule campaigns for specific dates, times, or triggered by customer actions.
### 4. Content
**What** customers see - the actual personalized content, recommendations, banners, or custom HTML.
Campaigns work together in a priority system. PureClarity evaluates each campaign in order until it finds one the customer qualifies for, ensuring everyone sees relevant content.
## Campaign Performance Tracking
PureClarity automatically tracks customer interactions with your campaigns:
* **Click tracking** on recommendations and content
* **Conversion attribution** when clicked products are purchased
* **Performance metrics** to optimize campaign effectiveness
* **Audience actions** like adding users to specific segments based on interactions
Use click totals and conversion data to identify your most effective campaigns and replicate successful strategies across other zones.
## Campaign Types and Use Cases
### Product Recommendations
* Cross-sell and upsell opportunities
* "Customers who viewed this also bought"
* Personalized product discovery
### Content Personalization
* Targeted promotional banners
* Seasonal campaign messaging
* Customer-specific offers
### Behavioral Triggers
* Exit-intent popups
* Cart abandonment recovery
* Browse abandonment follow-ups
## Related Campaign Resources
Explore these guides to master campaign creation and optimization:
* **[Campaign List](/features/campaigns/campaign-list)** - Managing and organizing all your campaigns
* **[Creating a Campaign](/features/campaigns/creating-campaign)** - Step-by-step campaign creation process
* **[Recommender Campaigns](/features/campaigns/recommender-campaigns)** - Specialized guidance for product recommendations
* **[Campaign Preview and Settings](/features/campaigns/preview-settings)** - Content configuration and display options
* **[Campaign Attribution and Click Total](/features/campaigns/attribution-clicks)** - Understanding customer interaction analytics
## Best Practices
### Start Simple
Begin with AI-powered product recommendations in high-traffic zones, then expand to more complex personalization as you gather data.
### Test and Iterate
Use A/B testing capabilities to compare campaign performance and continuously optimize your personalization strategy.
### Monitor Performance
Regularly review campaign analytics to identify opportunities for improvement and scale successful approaches.
# Campaign Preview and Settings
Source: https://docs.pureclarity.com/features/campaigns/preview-settings
Comprehensive guide to the campaign editor interface, template customization, block management, and preview functionality
The Campaign Preview and Settings editor is your visual workspace for customizing campaign appearance, functionality, and behavior. This interface provides real-time preview capabilities alongside comprehensive configuration options.
The editor uses a block-based system where you can add, remove, and configure individual elements to create sophisticated campaign layouts and interactions.
## Editor Interface Overview
The campaign editor is divided into three main areas:
**Left Panel**: Block and sub-block management
**Center Area**: Real-time visual preview
**Right Panel**: Settings and configuration options
### Block and Sub-Block Management
**Blocks** are the primary elements of your campaign template:
* **Container elements**: Headers, sections, columns
* **Content elements**: Images, text, product displays
* **Interactive elements**: Buttons, links, forms
**Sub-blocks** are nested elements within blocks:
* **Text content**: Headlines, descriptions, calls-to-action
* **Media elements**: Images, videos, icons
* **Product content**: Individual products, categories, collections
Click "Edit Settings" to access template-level configuration options that affect the entire campaign rather than individual blocks.
### Template Examples
**Collage Template**
* **Capacity**: Up to 3 visual elements
* **Content types**: Images, products, or categories
* **Use cases**: Featured collections, promotional highlights, brand storytelling
* **Customization**: Individual sizing, positioning, and overlay text
**Column Template**
* **Capacity**: Up to 12 columns
* **Flexibility**: Add varied content to each column
* **Content mixing**: Combine text, images, products within columns
* **Responsive design**: Automatic stacking on mobile devices
## Visual Preview System
### Real-Time Preview Features
**Live updates**: Changes appear immediately as you adjust settings
**Responsive preview**: Toggle between desktop, tablet, and mobile views
**Content simulation**: See how dynamic content will display
**Interactive testing**: Test buttons, links, and hover effects
The preview shows campaign content within the editor environment. Actual appearance may vary based on your site's existing CSS styling and theme configuration.
### Preview Limitations and Solutions
**Styling differences**: Your site's CSS may affect final appearance
**Font variations**: Site fonts may differ from preview fonts
**Layout integration**: Surrounding content may impact campaign display
**For accurate preview**:
* Use the [PureClarity Debug Toolbar](/support/general/debug-toolbar) on your live site
* Test campaigns in staging environments before publication
* Check appearance across different page types and devices
### Preview Testing Best Practices
**Multi-device testing**: Verify appearance on desktop, tablet, and mobile
**Browser compatibility**: Check across different browsers
**Page context testing**: Preview on homepage, product pages, and cart
**Loading simulation**: Test appearance during page load
## Settings Configuration
### Block-Level Settings
When you select any block or sub-block, the right panel displays relevant configuration options:
**Content settings**:
* **Text content**: Headlines, descriptions, body text
* **Image management**: Upload, resize, alt text, linking
* **Product selection**: Manual picks or dynamic criteria
* **Link configuration**: URLs, targets, tracking parameters
**Visual settings**:
* **Colors and fonts**: Typography and color scheme customization
* **Spacing and sizing**: Margins, padding, and element dimensions
* **Alignment options**: Text alignment, element positioning
* **Visual effects**: Hover states, transitions, animations
**Behavioral settings**:
* **Click actions**: What happens when elements are clicked
* **Display conditions**: When elements show or hide
* **Animation triggers**: How elements appear and move
* **Responsive behavior**: How elements adapt to screen sizes
### Template-Level Settings
Access overall campaign settings by clicking "Edit Settings":
**Campaign identification**:
* **Campaign name**: Internal reference for organization
* **Description**: Purpose and goals documentation
* **Tags**: Organizational and filtering labels
**Display parameters**:
* **Overall dimensions**: Width, height, aspect ratios
* **Spacing standards**: Consistent margins and padding
* **Typography rules**: Font families, sizes, line spacing
* **Color schemes**: Brand colors and design consistency
**Functional behavior**:
* **Loading behavior**: How campaign appears on page
* **Interaction tracking**: Click and engagement monitoring
* **Performance optimization**: Loading speed and efficiency
* **Accessibility features**: Screen reader compatibility, keyboard navigation
## Advanced Customization Options
### Dynamic Content Configuration
**Product recommendations**:
* **Source criteria**: How products are selected
* **Filtering rules**: Price, category, brand restrictions
* **Quantity limits**: Minimum and maximum products displayed
* **Fallback content**: What shows when insufficient products available
**Personalization elements**:
* **Customer-specific content**: Name, preferences, history
* **Behavioral triggers**: Content based on current actions
* **Segment targeting**: Different content for different audiences
* **Geographic customization**: Location-based content variations
### Interactive Element Setup
**Button configuration**:
* **Call-to-action text**: Clear, compelling messaging
* **Link destinations**: Product pages, categories, external URLs
* **Visual styling**: Colors, fonts, hover effects
* **Tracking setup**: Analytics and attribution configuration
**Form elements**:
* **Input fields**: Email, preferences, feedback collection
* **Validation rules**: Required fields, format requirements
* **Submission actions**: Where data goes and what happens next
* **Error handling**: User-friendly error messages and guidance
### Attribution Configuration
Control what happens when customers interact with campaign elements:
**Audience attribution**:
* **Segment assignment**: Add customers to automatic segments
* **Behavioral tagging**: Track interaction types and patterns
* **Journey mapping**: Understand customer path through site
* **Persistence**: How long attribution data remains active
**Product attribution**:
* **Product relationship**: Link clicks to specific products
* **Revenue tracking**: Credit sales to campaign interactions
* **Conversion attribution**: Connect campaigns to purchase decisions
* **Performance measurement**: ROI and effectiveness analytics
**Custom attributes**:
* **User properties**: Set custom data points for customers
* **Preference tracking**: Record customer choices and interests
* **Behavioral data**: Capture interaction patterns and preferences
* **Segmentation data**: Information for future targeting
Attribution settings enable sophisticated customer journey tracking and performance measurement. Learn more about implementation in [Campaign Attribution and Click Total](/features/campaigns/attribution-clicks).
## Quality Assurance and Testing
### Pre-Launch Checklist
**Content accuracy**:
* **Text proofreading**: Check spelling, grammar, and messaging
* **Image quality**: Verify resolution, format, and loading
* **Link testing**: Ensure all URLs work correctly
* **Product data**: Confirm accurate pricing and availability
**Visual consistency**:
* **Brand alignment**: Colors, fonts, and style match brand guidelines
* **Layout balance**: Proper spacing and element arrangement
* **Responsive design**: Appropriate appearance across devices
* **Accessibility**: Alt text, contrast ratios, keyboard navigation
**Functional testing**:
* **Interactive elements**: Buttons, forms, and links work properly
* **Dynamic content**: Recommendations and personalization display correctly
* **Performance**: Campaign loads quickly and doesn't slow page
* **Attribution**: Tracking and analytics capture interactions properly
### Common Issues and Solutions
**Preview discrepancies**:
* **CSS conflicts**: Site styles overriding campaign styles
* **Font loading**: Custom fonts not available in preview
* **JavaScript dependencies**: Site features affecting campaign behavior
**Resolution strategies**:
* **Staging environment testing**: Test on replica of live site
* **CSS inspection**: Use browser developer tools to identify conflicts
* **Progressive testing**: Test individual elements before combining
**Performance optimization**:
* **Image optimization**: Compress images without quality loss
* **Content simplification**: Remove unnecessary elements for speed
* **Loading prioritization**: Load critical elements first
* **Caching strategy**: Optimize for repeat visits
The Campaign Preview and Settings editor provides powerful tools for creating engaging, effective personalization campaigns that align with your brand and drive customer engagement. Take advantage of the real-time preview and comprehensive customization options to create campaigns that resonate with your audience and achieve your business goals.
# Recommender Campaigns
Source: https://docs.pureclarity.com/features/campaigns/recommender-campaigns
Complete guide to automated and custom recommender campaigns with configuration options, filters, and performance optimization
Recommender campaigns are the core of PureClarity's personalization engine, delivering AI-driven product recommendations that adapt to individual customer behavior and preferences.
When creating a campaign with a recommender template, you'll choose between automated AI recommendations or custom curated selections to optimize customer engagement and sales.
PureClarity automatically tracks all recommender interactions and attributes revenue to successful recommendations, providing clear ROI measurement for your personalization efforts.
## Automated Recommender Campaigns
**Recommended starting point** for most stores, automated recommenders use machine learning to deliver the most relevant recommendations for each customer and context.
### How Automated Recommendations Work
PureClarity analyzes multiple data points to select optimal recommendations:
**Customer behavior factors:**
* **Current browsing**: Products being viewed and categories explored
* **Basket contents**: Items added but not yet purchased
* **Purchase history**: Previous orders and preferences
* **Session patterns**: Time spent, pages visited, interaction depth
**Contextual factors:**
* **Page type**: Homepage, product page, cart, category page
* **Product relationships**: Cross-sells, upsells, alternatives
* **Inventory levels**: Availability and stock status
* **Seasonal trends**: Current demand patterns and popularity
### Page-Specific Recommendation Types
**Homepage recommendations:**
* **"Recommended based on your last visit"**: Personalized for returning customers
* **"Trending Products"**: Popular items for new visitors
* **"New Arrivals"**: Fresh inventory for engaged customers
* **"Best Sellers"**: High-converting products for broad appeal
**Product page recommendations:**
* **"Frequently bought together"**: Cross-sell opportunities
* **"Customers also bought"**: Alternative and complementary products
* **"Similar products"**: Alternatives within the same category
* **"Complete the look"**: Style and accessory recommendations
**Cart page recommendations:**
* **"Add to your order"**: Last-minute upsells
* **"Others also bought"**: Based on cart contents
* **"Recommended for you"**: Personalized additional items
### Automated Recommender Settings
**Minimum items**: Set the minimum number of products required for display
**Maximum items**: Control the maximum products shown per recommendation
**Fallback behavior**: What happens when insufficient products are available
Start with 3-6 products per recommender for optimal balance between choice and decision fatigue. Adjust based on your specific product catalog and customer behavior.
## Custom Recommender Campaigns
Custom recommenders provide editorial control over product selection while maintaining the dynamic nature of personalized recommendations.
If no products match your custom recommender criteria for a specific customer, the campaign will not display. Always include fallback options or broader criteria.
### Custom Recommender Sources
**Manual Recommenders**
* **Specific products**: Hand-selected items for precise control
* **Product categories**: Target specific product types or collections
* **Brand focus**: Highlight particular brands or vendors
* **Use cases**: Clearance promotions, "complete the look" styling, editorial features
**Best Sellers**
* **Top performers**: Products with highest sales volume
* **Trending items**: Products with increasing popularity
* **Category leaders**: Best sellers within specific categories
* **Consideration**: May overlap with automated recommendations
**Recommended For You**
* **AI curation**: Personalized selection based on customer data
* **Behavioral matching**: Products aligned with customer interests
* **Dynamic updating**: Changes based on recent activity
* **Limitation**: May not have recommendations for all customers
**Recently Viewed**
* **Browsing history**: Products customer has viewed recently
* **Re-engagement**: Encourage return to considered products
* **Session continuity**: Maintain shopping journey context
* **Availability**: Depends on customer having browsing history
**Trending Products**
* **Rising popularity**: Products with highest sales velocity increase
* **Market dynamics**: Items gaining traction with customers
* **Fresh discovery**: Showcase emerging popular products
* **Algorithmic selection**: Based on sales rank changes
### Product Filtering Options
Refine recommendations with advanced filtering criteria:
**Price Range Filters**
* **Minimum price**: Exclude products below specified amount
* **Maximum price**: Limit recommendations to affordable range
* **Use cases**: Budget-conscious segments, luxury targeting
**Category Filters**
* **Specific categories**: Limit to particular product types
* **Multi-category**: Include multiple related categories
* **Exclusions**: Remove categories not relevant to campaign
**Brand Filters**
* **Brand inclusion**: Focus on specific brands or vendors
* **Brand exclusion**: Remove particular brands from recommendations
* **Partnership focus**: Highlight partner or featured brands
**Tag-Based Filters**
* **Product tags**: Use platform-specific product tagging
* **Custom attributes**: Filter by custom product properties
* **Seasonal tags**: Include/exclude seasonal or promotional items
* **Platform dependency**: Implementation varies by e-commerce system
Contact your customer success manager for guidance on implementing tag-based filtering specific to your e-commerce platform.
### Custom Recommender Settings
**Campaign title**: Customize the display title for the recommendation section
**Minimum/Maximum items**: Control quantity displayed
**Fallback strategy**: Define behavior when criteria yield insufficient products
## Performance Optimization Strategies
### Automated vs. Custom Decision Framework
**Choose Automated when:**
* Starting with personalization
* Seeking maximum conversion optimization
* Limited time for content curation
* Wanting set-and-forget functionality
**Choose Custom when:**
* Promoting specific products or brands
* Running targeted promotional campaigns
* Need editorial control over recommendations
* Testing specific product combinations
### A/B Testing Recommendations
**Test different approaches:**
* **Automated vs. Custom**: Compare performance in similar zones
* **Product quantities**: Test different min/max settings
* **Filter combinations**: Experiment with different criteria
* **Title variations**: Test different recommendation headers
### Common Optimization Tactics
**Underperforming recommenders:**
* **Broaden criteria**: Reduce restrictive filters
* **Adjust quantities**: Test different product counts
* **Review placement**: Consider zone location and timing
* **Audience refinement**: Narrow or broaden target segments
**High-performing recommenders:**
* **Scale successful patterns**: Apply winning formulas to other zones
* **Refine further**: Test minor adjustments for additional gains
* **Expand audience**: Gradually broaden successful targeting
* **Document learnings**: Capture insights for future campaigns
## Attribution and Revenue Tracking
### Automatic Click Tracking
PureClarity automatically tracks:
* **Product clicks**: When customers interact with recommended products
* **Purchase attribution**: Sales resulting from recommendation clicks
* **Revenue totals**: Dollar value attributed to specific recommendations
* **Conversion rates**: Success rates for different recommendation types
### Click Total Analytics
**Zone-level reporting**: Revenue attribution by website location
**Campaign-level insights**: Performance of specific recommendation campaigns
**Product-level data**: Which products perform best in recommendations
**ROI analytics**: Detailed return on investment for recommendation efforts
Access comprehensive recommendation performance data through the [Analytics section](/features/analytics/overview) and specialized Recommender ROI reports.
### Attribution Best Practices
**Revenue tracking accuracy:**
* **Consistent attribution windows**: Define clear timeframes for conversion credit
* **Multi-touch attribution**: Understand customer journey complexity
* **Baseline comparison**: Measure lift versus non-personalized experiences
**Performance monitoring:**
* **Regular review cycles**: Weekly/monthly performance assessment
* **Trend analysis**: Identify patterns and seasonal variations
* **Segment analysis**: Compare performance across customer groups
Recommender campaigns form the foundation of effective personalization, driving both customer satisfaction and business results through intelligent product discovery and strategic recommendation placement.
# Creating a Popup
Source: https://docs.pureclarity.com/features/popups/creating-popup
Step-by-step guide to building effective popups with targeting, design customization, triggers, and performance optimization
Creating effective popups in PureClarity involves strategic planning of targeting, timing, design, and content to maximize customer engagement while maintaining excellent user experience.
The popup creation process combines behavioral targeting, visual design, and performance optimization to deliver personalized messages that resonate with specific customer segments at optimal moments.
## Getting Started
### Accessing Popup Creation
1. Navigate to **Popups** in the left side menu
2. Click **Add Popup** to begin the creation process
3. **Choose popup type**: Select between Simple Popup or Email Sign-up Popup
4. **Access design tools**: Enter the comprehensive popup builder interface
### Choosing Your Popup Type
**Simple Popup**: Ideal for promotional messaging, announcements, and customer communication
**Email Sign-up Popup**: Optimized for lead capture with integrated analytics and email management
Review the [Popups Overview](/features/popups/overview) to understand the differences between popup types and choose the option that best fits your campaign goals.
## Popup Behavior Configuration
### Page Targeting
**Select page types** where your popup should appear:
**Available targeting options**:
* **Homepage**: Welcome messages, featured promotions, site introductions
* **Product pages**: Product-specific offers, related promotions, cross-selling
* **Category pages**: Category promotions, collection highlights, navigation help
* **Cart/checkout pages**: Urgency messaging, upsells, checkout incentives
* **All pages**: Site-wide messages, universal promotions, brand announcements
* **Custom URLs**: Specific page targeting for precise campaign control
**Strategic page targeting**:
* **Homepage**: Broad reach for awareness and general promotions
* **Product pages**: Highly relevant, contextual messaging
* **Cart pages**: Final conversion optimization and urgency creation
* **Exit pages**: Last-chance offers and retention messaging
### Audience Segmentation
**Target specific customer segments** for maximum relevance and engagement:
**Segment targeting benefits**:
* **Higher conversion rates**: Messages tailored to specific customer needs
* **Improved user experience**: Relevant content reduces popup fatigue
* **Better performance metrics**: Targeted campaigns typically outperform broad messaging
* **Strategic personalization**: Different messages for different customer types
**Common segment applications**:
* **New visitors**: Welcome messages and site orientation
* **Returning customers**: Loyalty rewards and personalized offers
* **High-value customers**: Exclusive promotions and VIP treatment
* **Cart abandoners**: Recovery offers and urgency messaging
* **Mobile users**: Mobile-specific content and app promotion
Learn more about creating and using customer segments in [Customer Segments Overview](/features/segments/overview).
### Campaign Scheduling
**Control when your popup is active**:
**Date and time targeting**:
* **Start date/time**: When the popup campaign begins
* **End date/time**: When the popup campaign stops
* **Always active**: Leave dates blank for ongoing campaigns
* **Seasonal timing**: Perfect for holiday promotions and sales events
**Strategic scheduling applications**:
* **Flash sales**: 24-48 hour limited-time offers
* **Product launches**: Timed reveals and announcements
* **Seasonal campaigns**: Holiday-specific messaging and promotions
* **Event coordination**: Sync with external marketing campaigns
### Organization and Tagging
**Add notes and popup tags** for campaign management:
**Tagging benefits**:
* **Campaign grouping**: Organize related popups together
* **Performance analysis**: Analyze results across tagged popup groups
* **Team coordination**: Clear identification of popup purposes and ownership
* **Historical tracking**: Maintain records of campaign strategies and results
**Recommended tag categories**:
* **Campaign type**: Promotional, educational, seasonal, retention
* **Performance level**: Testing, champion, challenger, archived
* **Audience focus**: New customers, VIP, mobile, geographic regions
* **Business goal**: Conversion, engagement, list building, retention
## Popup Design and Customization
### Shape and Sizing
**Control popup dimensions and appearance**:
**Size considerations**:
* **Standard size**: 600px width provides good balance of visibility and user experience
* **Mobile optimization**: Ensure popups work well on smaller screens
* **Content fitting**: Size should accommodate your message without overwhelming
* **Screen compatibility**: Test across different screen sizes and resolutions
**Responsive design**: Popups automatically adapt to different devices while maintaining design integrity
### Background and Visual Settings
**Customize the popup's visual environment**:
**Background options**:
* **Color selection**: Choose colors that align with your brand and create appropriate contrast
* **Transparency control**: Adjust background opacity for visual balance
* **Click-to-dismiss**: Allow customers to close popups by clicking outside the content area
* **Visual hierarchy**: Use background design to focus attention on key messages
**Design best practices**:
* **Brand consistency**: Match your site's color scheme and design aesthetic
* **Readability**: Ensure sufficient contrast between text and background
* **Professional appearance**: Clean, polished design enhances brand perception
* **Mobile considerations**: Simplified designs often work better on smaller screens
### Trigger Configuration
**Set optimal display timing and conditions**:
**Trigger types available**:
**Time delay triggers**:
* **Immediate display**: Show popup as soon as page loads
* **Delayed display**: Wait specified seconds before showing popup
* **Engagement timing**: Display after customer shows engagement signals
* **Strategic timing**: Balance immediate impact with user experience
**Exit-intent triggers**:
* **Leaving detection**: Show popup when customer appears to be leaving site
* **Last-chance messaging**: Final opportunity for conversion or engagement
* **Retention focus**: Prevent customer departure with compelling offers
* **Mobile compatibility**: Adapted exit detection for touch devices
While immediate popups have high visibility, they can negatively impact user experience. Consider delayed or exit-intent triggers for better customer reception.
### Display Frequency Management
**Control how often popups appear to individual customers**:
**Frequency options**:
* **Every visit**: Popup shows on each site visit (use sparingly)
* **Once per session**: Single display per browsing session
* **Once per day**: Maximum one display in 24-hour period
* **Once per week**: Weekly display limit for gentle engagement
* **Once only**: Single display per customer, ever
**Strategic frequency considerations**:
* **Message urgency**: Time-sensitive offers may warrant higher frequency
* **Customer value**: High-value customers may tolerate more frequent messaging
* **Popup type**: Email capture popups typically need lower frequency than promotional ones
* **User experience**: Balance marketing goals with customer satisfaction
## Content Creation and Block Management
### Block-Based Editor
**Build popup content using flexible content blocks**:
**Available block types**:
* **Text blocks**: Headlines, descriptions, calls-to-action
* **Image blocks**: Product photos, promotional graphics, brand imagery
* **Video blocks**: Product demonstrations, testimonials, brand videos
* **Button blocks**: Call-to-action buttons with custom styling and linking
* **Form blocks**: Email capture, surveys, preference collection
### Content Design Process
**Drag-and-drop functionality**:
1. **Select blocks** from the block options menu
2. **Drag into editor**: Position blocks where you want them in the popup
3. **Customize content**: Edit text, upload images, configure buttons
4. **Arrange layout**: Reorder blocks for optimal visual flow
5. **Preview design**: See how popup will appear to customers
### Content Strategy
**Effective popup content elements**:
**Compelling headlines**: Clear, benefit-focused messaging that captures attention
**Value proposition**: Immediately obvious benefit to the customer
**Visual appeal**: High-quality images that support the message
**Clear call-to-action**: Obvious next step with compelling button text
**Social proof**: Testimonials, reviews, or usage statistics when appropriate
**Content optimization tips**:
* **Scannable layout**: Use visual hierarchy to guide eye movement
* **Minimal text**: Concise messaging that's quickly absorbed
* **Strong contrast**: Ensure text is easily readable against background
* **Mobile-first design**: Optimize for smallest screen experience first
## Testing and Optimization
### Preview and Validation
**Test popup before launch**:
* **Visual preview**: See exactly how popup will appear
* **Responsive testing**: Check appearance across device types
* **Content validation**: Ensure all text, images, and links work correctly
* **Timing testing**: Verify triggers work as intended
### Performance Monitoring
**Key metrics to track**:
* **Display rate**: How often popup is shown relative to targeting criteria
* **Click-through rate**: Percentage of viewers who interact with popup
* **Conversion rate**: Goal completion rate from popup interactions
* **User experience impact**: Bounce rate and session quality metrics
### Iterative Improvement
**Optimization strategies**:
* **A/B testing**: Compare different designs, timing, and targeting approaches
* **Content refinement**: Adjust messaging based on performance data
* **Timing optimization**: Modify triggers based on user behavior insights
* **Segment refinement**: Adjust targeting based on segment performance
## Advanced Popup Strategies
### Multi-Popup Coordination
**Managing multiple popups**:
* **Frequency caps**: Prevent overwhelming customers with too many popups
* **Priority systems**: Ensure most important messages are shown first
* **Exclusion rules**: Prevent conflicting popups from displaying simultaneously
* **Journey coordination**: Sequence popups to support customer journey progression
### Integration with Other Features
**Cross-feature coordination**:
* **Campaign alignment**: Coordinate popup messaging with other personalization campaigns
* **Email integration**: Connect popup leads to email marketing workflows
* **Analytics correlation**: Understand popup impact on overall customer behavior
* **Customer service**: Use popup insights to improve support interactions
## Common Implementation Challenges
### Technical Considerations
**Performance optimization**:
* **Loading speed**: Ensure popups don't slow page load times
* **Mobile performance**: Optimize for mobile device capabilities
* **Browser compatibility**: Test across different browsers and versions
* **Accessibility**: Ensure popups work with screen readers and keyboard navigation
### User Experience Balance
**Engagement vs. intrusion**:
* **Value-first approach**: Always provide clear customer value
* **Respectful timing**: Display popups when customers are most receptive
* **Easy dismissal**: Always provide clear close options
* **Frequency respect**: Avoid overwhelming customers with too many popups
Creating effective popups requires balancing marketing objectives with customer experience, using data-driven optimization to continuously improve performance while maintaining positive customer relationships. Focus on delivering genuine value through strategic targeting, compelling content, and respectful implementation.
# Popups Overview
Source: https://docs.pureclarity.com/features/popups/overview
Comprehensive guide to PureClarity's popup features for customer engagement, lead capture, and personalized promotional messaging
PureClarity Popups provide powerful tools for direct customer communication, enabling personalized engagement that enhances the shopping experience while driving conversions and lead generation.
Popups in PureClarity combine intelligent targeting with sophisticated design tools, allowing you to deliver the right message to the right customer at the perfect moment in their journey.
## Popup Types Available
### Simple Popups
**Purpose**: Promotional messaging and customer communication
**Use cases**: Special offers, announcements, product promotions, brand messaging
**Targeting**: Fully customizable audience segmentation and behavioral triggers
**Design flexibility**: Complete control over appearance, timing, and content
**Ideal applications**:
* **Flash sales**: Time-sensitive promotional offers
* **Product launches**: New product announcements and feature highlights
* **Seasonal campaigns**: Holiday promotions and seasonal messaging
* **Brand awareness**: Company values, sustainability messages, awards
* **Educational content**: How-to guides, product information, usage tips
### Email Sign-up Popups
**Purpose**: Lead capture and email list building
**Features**: Integrated email collection with analytics and export capabilities
**Customization**: Design popups that match your site's look and feel
**Data management**: Full analytics plus CSV download of captured emails
**Strategic benefits**:
* **List growth**: Expand your email marketing database
* **Lead nurturing**: Capture prospects for follow-up campaigns
* **Segmentation**: Identify interested prospects for targeted messaging
* **Customer retention**: Build direct communication channels with visitors
* **Marketing automation**: Feed captured leads into broader marketing funnels
Email sign-up popups work particularly well when combined with incentives like discount codes, exclusive content access, or early sale notifications.
## Advanced Targeting and Personalization
### Segment-Based Targeting
**Customer segmentation**: Target popups to specific [customer segments](/features/segments/overview) for maximum relevance
**Behavioral targeting**: Show different messages based on customer actions and history
**Lifecycle targeting**: Customize popup content for different stages of the customer journey
**Value-based targeting**: Adapt messaging based on customer value and purchase history
**Segmentation examples**:
* **New visitors**: Welcome messages and site orientation
* **Returning customers**: Personalized offers based on purchase history
* **Cart abandoners**: Urgency messaging and incentive offers
* **High-value customers**: Exclusive promotions and VIP treatment
* **Mobile users**: Mobile-optimized content and app promotion
### Contextual Personalization
**Page-specific targeting**: Different popup content for different page types
**Product-based messaging**: Popups adapted to current product viewing
**Geographic targeting**: Location-specific offers and messaging
**Device optimization**: Tailored experiences for mobile, tablet, and desktop
## Popup Strategy and Best Practices
### Strategic Implementation
**Customer journey alignment**: Position popups at optimal decision points
**Value proposition clarity**: Ensure popup content provides clear customer value
**Non-intrusive timing**: Balance engagement with user experience considerations
**Mobile optimization**: Ensure excellent performance across all devices
### Performance Optimization
**A/B testing**: Compare different popup designs, messaging, and timing
**Conversion tracking**: Monitor popup impact on key business metrics
**User experience monitoring**: Ensure popups enhance rather than detract from site experience
**Frequency management**: Optimize display frequency to avoid popup fatigue
While popups are powerful engagement tools, overuse can negatively impact user experience. Focus on delivering genuine value and respect customer preferences.
## Design and Customization
### Visual Design Control
**Complete customization**: Full control over colors, fonts, layouts, and imagery
**Brand alignment**: Ensure popups match your overall brand aesthetic
**Responsive design**: Automatic adaptation across different screen sizes
**Visual hierarchy**: Clear information organization for maximum impact
### Content Flexibility
**Multi-media support**: Combine text, images, videos, and interactive elements
**Dynamic content**: Personalized messaging based on customer data
**Call-to-action optimization**: Strategic button placement and messaging
**Progressive disclosure**: Layer information for complex messages
### Block-Based Editor
**Modular design**: Add, remove, and arrange content blocks as needed
**Pre-built components**: Library of proven popup elements and layouts
**Custom flexibility**: Create unique designs while maintaining best practices
**Template system**: Save and reuse successful popup designs
## Analytics and Performance Measurement
### Comprehensive Tracking
**Display metrics**: How often popups are shown across different segments
**Engagement rates**: Click-through rates and interaction patterns
**Conversion tracking**: Goals completed and revenue attributed to popups
**Email capture analytics**: Sign-up rates and list growth metrics
### Performance Insights
**Segment analysis**: How different customer groups respond to popup campaigns
**Content optimization**: Which messages and designs drive best results
**Timing optimization**: Optimal display timing for different scenarios
**ROI measurement**: Clear business impact and return on investment
### Data Export and Integration
**CSV downloads**: Export captured email addresses for external marketing tools
**CRM integration**: Feed popup data into customer relationship management systems
**Marketing automation**: Connect popup leads to broader marketing workflows
**Analytics integration**: Include popup data in comprehensive performance analysis
## Technical Features and Capabilities
### Advanced Triggering
**Time-based triggers**: Display after specific time on page or site
**Behavior triggers**: Show based on scrolling, mouse movement, or interaction patterns
**Exit-intent detection**: Capture leaving visitors with targeted offers
**Session-based triggers**: Display based on visit frequency or session characteristics
### Display Management
**Frequency control**: Manage how often popups appear to individual customers
**Cross-device tracking**: Ensure consistent experience across customer devices
**Suppression rules**: Prevent popup conflicts and over-messaging
**Scheduling**: Time-based activation for campaigns and promotions
### Integration Capabilities
**Platform compatibility**: Seamless integration with major e-commerce platforms
**Email platform syncing**: Direct integration with popular email marketing tools
**CRM connectivity**: Automatic lead transfer to customer management systems
**Analytics tracking**: Comprehensive data collection for optimization
## Getting Started with Popups
### Implementation Roadmap
**Phase 1: Foundation**
* Start with simple promotional popups for immediate engagement
* Implement basic email capture popups for list building
* Establish performance measurement and optimization processes
* Test different timing and targeting strategies
**Phase 2: Sophistication**
* Implement segment-based targeting for personalized messaging
* Add behavioral triggers for more precise timing
* Develop comprehensive popup content library
* Integrate with broader marketing automation workflows
**Phase 3: Optimization**
* Advanced A/B testing across multiple popup variables
* Sophisticated multi-popup strategies coordinated with other personalization
* Cross-channel integration with email, social, and advertising campaigns
* Predictive timing and content selection based on customer behavior
### Success Factors
**Customer value focus**: Ensure every popup provides genuine value to customers
**Strategic timing**: Display popups when customers are most receptive
**Design excellence**: Create visually appealing popups that enhance brand perception
**Performance monitoring**: Continuously optimize based on data and customer feedback
**Related resources**:
* **Implementation guide**: Learn mechanics in [Creating a Popup](/features/popups/creating-popup)
* **Targeting strategy**: Apply [Customer Segments](/features/segments/overview) for precision targeting
* **Performance optimization**: Monitor effectiveness through [Analytics](/features/analytics/overview)
PureClarity Popups transform traditional intrusive overlays into valuable, personalized customer interactions that drive engagement, capture leads, and enhance the overall shopping experience while delivering measurable business results.
# Creating a Segment
Source: https://docs.pureclarity.com/features/segments/creating-segment
Step-by-step guide to building custom customer segments with single and multiple conditions using PureClarity's segment builder tool
PureClarity's segment builder provides powerful tools for creating sophisticated customer groups based on multiple conditions and criteria. Learn how to build both simple and complex segments for precise audience targeting.
The segment builder allows you to combine multiple conditions using AND/OR logic to create highly specific customer groups that exactly match your targeting needs.
## Accessing the Segment Builder
### Creating Segments from Campaign Setup
When creating campaigns or popups you'll see a segment selector:
1. **Choose existing segment**: Select from the dropdown of pre-built and custom segments
2. **Create new segment**: Click "Create Segment" in the top right of the selector
3. **Access builder**: You'll be redirected to the comprehensive segment creation tool
### Direct Segment Management
**Navigation path**: Main menu → Segments → Create New Segment
**Bulk management**: View, edit, and organize all segments in one location
**Performance tracking**: Monitor segment performance and growth over time
## Segment Builder Interface
### Basic Setup
**Segment name**: Choose a clear, descriptive name that indicates the segment's purpose
**Tags**: Add organizational tags for easier filtering and management
**Description**: Optional detailed description for team reference and documentation
**Naming best practices**:
* **Descriptive**: "High-Value-Electronics-Buyers" vs. "Segment1"
* **Consistent**: Use standard naming conventions across all segments
* **Purposeful**: Include targeting intent in the name
* **Scalable**: Consider how names will work as you create more segments
Use tags to group related segments by campaign type, season, or marketing objective for easier organization and reporting.
## Building Segment Conditions
### Adding Your First Condition
1. Click **Add Conditions** to open the condition selector
2. **Choose condition type** from the comprehensive list of available criteria
3. **Configure options** specific to your selected condition
4. **Set parameters** such as values, timeframes, and comparison operators
### Available Condition Types
**Behavioral conditions**:
* **Visit frequency**: Number of site visits, visit recency
* **Page interaction**: Specific pages viewed, time spent on site
* **Product engagement**: Products viewed, categories browsed
* **Purchase behavior**: Order history, purchase amounts, product preferences
**Demographic conditions**:
* **Geographic**: Country, region, city-level targeting
* **Device type**: Mobile, desktop, tablet preferences
* **Traffic source**: How customers arrived at your site
* **Customer status**: New vs. returning customer classification
**Engagement conditions**:
* **Campaign interaction**: Responses to specific campaigns
* **Email engagement**: Click rates, open rates, subscription status
* **Social media**: Social platform referrals and interactions
* **Search behavior**: Internal search terms and patterns
### Condition Configuration Options
Each condition type offers specific configuration options:
**Visit conditions example**:
* **Frequency**: More than, less than, exactly X visits
* **Timeframe**: Within last X days, weeks, months
* **Recency**: Last visit within X days
* **Session duration**: Average time spent per visit
**Purchase conditions example**:
* **Order value**: Total spent above/below threshold
* **Product categories**: Purchased from specific categories
* **Purchase frequency**: Number of orders within timeframe
* **Product count**: Items purchased per order
Be careful with overly restrictive conditions that might create segments too small to be useful. Start broader and refine based on segment size and performance.
## Combining Multiple Conditions
### AND Logic
**Purpose**: Customers must meet ALL specified conditions
**Use case**: Highly specific, narrow targeting
**Example**: "Returning customers AND purchased electronics AND spent over \$500"
**Benefits of AND logic**:
* **Precision targeting**: Reach exactly the right customers
* **Higher relevance**: Content extremely relevant to segment members
* **Quality focus**: Smaller but highly engaged segments
* **Specific messaging**: Tailor content to very specific characteristics
### OR Logic
**Purpose**: Customers meet ANY of the specified conditions
**Use case**: Broader targeting with multiple qualifying paths
**Example**: "Viewed electronics OR viewed home goods OR purchased in last 30 days"
**Benefits of OR logic**:
* **Broader reach**: Include more customers in targeting
* **Multiple pathways**: Different ways customers can qualify
* **Market expansion**: Cast wider net for awareness campaigns
* **Testing opportunities**: Compare different qualifying behaviors
### Complex Logic Combinations
**Mixed logic**: Combine AND and OR for sophisticated targeting
**Nested conditions**: Group related conditions together
**Exclusion logic**: Include customers who meet criteria but exclude others
**Example complex segment**:
```
(Returning customers AND purchased electronics)
OR
(New customers AND viewed electronics AND from mobile device)
```
## Condition Examples and Use Cases
### E-commerce Focused Segments
**High-value customers**:
* **Condition**: Total purchase amount > \$1000 in last 12 months
* **Use case**: VIP treatment, exclusive offers, premium support
**Cart abandoners**:
* **Condition**: Added items to cart AND did not purchase in last 7 days
* **Use case**: Retargeting campaigns, discount offers, urgency messaging
**Category enthusiasts**:
* **Condition**: Viewed fashion category > 5 times in last 30 days
* **Use case**: Category-specific recommendations, new arrival alerts
### Behavioral Segments
**Engaged browsers**:
* **Condition**: Visited > 10 pages AND session duration > 5 minutes
* **Use case**: Content marketing, detailed product information
**Mobile shoppers**:
* **Condition**: Last 3 visits from mobile device
* **Use case**: Mobile-optimized campaigns, app promotion
**Search-driven customers**:
* **Condition**: Used internal search > 3 times in last visit
* **Use case**: Search result optimization, specific product recommendations
### Lifecycle Segments
**New customer onboarding**:
* **Condition**: First purchase within last 30 days
* **Use case**: Welcome series, education content, loyalty program introduction
**Win-back candidates**:
* **Condition**: Last purchase > 90 days ago AND previous purchase frequency > monthly
* **Use case**: Re-engagement campaigns, special offers, product updates
## Testing and Validation
### Segment Size Validation
**Check segment size**: Preview how many customers match your criteria
**Size optimization**: Adjust conditions if segment is too large or small
**Growth tracking**: Monitor how segment size changes over time
**Performance correlation**: Analyze if larger segments perform better or worse
### Test Segment Logic
**Preview functionality**: See example customers who match your segment
**Logic verification**: Ensure AND/OR conditions work as expected
**Edge case testing**: Check unusual customer scenarios
**Refinement process**: Iterate on conditions based on preview results
Aim for segment sizes that are large enough to be statistically significant but small enough to be meaningfully different from other segments.
## Saving and Managing Segments
### Save and Activation
1. **Review conditions**: Double-check all criteria and logic
2. **Set segment name and tags**: Finalize organization information
3. **Click SAVE**: Segment becomes available for campaign targeting
4. **Immediate availability**: Can be used in campaigns right away
### Ongoing Management
**Regular review**: Assess segment performance and relevance
**Condition updates**: Modify criteria based on business changes
**Archive outdated**: Remove segments no longer useful
**Documentation**: Maintain notes on segment purpose and strategy
## Advanced Segment Strategies
### Progressive Segmentation
**Start simple**: Begin with basic behavioral segments
**Add complexity**: Introduce additional conditions based on learnings
**Test variations**: Create similar segments with different criteria
**Optimize based on performance**: Refine conditions for better results
### Segment Hierarchies
**Broad to specific**: Create nested segments for different campaign types
**Customer journey stages**: Segments that represent progression through funnel
**Value tiers**: Different treatment levels based on customer value
**Geographic variations**: Adapt segments for different regions or markets
## Troubleshooting Common Issues
**Segment too small**:
* **Broaden conditions**: Reduce restrictive criteria
* **Extend timeframes**: Look at longer periods for qualifying behavior
* **Add OR conditions**: Include additional qualifying paths
* **Review thresholds**: Lower minimum requirements
**Segment too large**:
* **Add restrictions**: Include additional AND conditions
* **Narrow timeframes**: Focus on more recent behavior
* **Increase thresholds**: Raise minimum requirements
* **Add exclusions**: Remove less relevant customers
**Segment not updating**:
* **Check data processing**: Ensure customer data is flowing correctly
* **Verify conditions**: Confirm criteria are set up properly
* **Review timeframes**: Ensure time-based conditions are current
* **Contact support**: Get assistance with technical issues
Creating effective segments requires understanding your customers, clear business objectives, and iterative refinement based on performance data. Start with simple segments and gradually build more sophisticated targeting as you learn what drives the best results for your specific business and customer base.
# Understanding Segment Insights
Source: https://docs.pureclarity.com/features/segments/insights
Complete guide to analyzing segment performance data, interpreting metrics, and using insights for optimization and strategic decision-making
Segment Insights provide comprehensive analytics on customer segment performance, enabling data-driven optimization and strategic decision-making for your personalization initiatives.
Segment Insights are available for traditional segments based on historical data. Real-time segments (such as weather-based conditions) do not generate insight metrics as they collect data dynamically.
## Accessing Segment Insights
### Viewing Insights
**From segment creation**: Insights appear automatically after creating a segment
**From segment management**: Access insights for existing segments through the segment dashboard
**From analytics section**: View segment performance alongside campaign and overall site analytics
### Date Range Controls
**Flexible timeframes**: Adjust analysis period using blue date range selectors above the metrics
**Standard periods**: Last 7 days, 30 days, 90 days, or custom date ranges
**Trend analysis**: Compare performance across different time periods for optimization insights
The "Reach" metric shows the proportion of all users matching segment conditions and remains constant regardless of selected date range, as it represents the overall segment composition.
## Core Segment Metrics
### Reach Analysis
**Segment size**: Absolute number of customers in the segment
**Percentage of total**: What portion of your customer base this segment represents
**Segment viability**: Whether the segment is large enough for meaningful targeting
**Growth tracking**: How segment size changes over time
**Interpreting reach data**:
* **Large segments (> 20%)**: Broad appeal, suitable for general campaigns
* **Medium segments (5-20%)**: Balanced targeting with good scale
* **Small segments (\< 5%)**: Highly specific, ideal for premium or niche targeting
* **Growing segments**: Emerging opportunities for increased focus
### Conversion Performance
**Conversion rate**: Percentage of segment customers who make purchases during the analysis period
**Baseline comparison**: How segment conversion compares to overall site average
**Optimization potential**: Identifies high and low-performing segments
**Targeting effectiveness**: Validates segment definition accuracy
**Conversion insights**:
* **Above-average conversion**: High-value segments worthy of increased investment
* **Below-average conversion**: Segments needing optimization or content adjustment
* **Consistent performance**: Reliable segments for predictable campaign results
* **Volatile performance**: Segments requiring careful monitoring and adjustment
### Revenue Metrics
**Total revenue**: Complete sales generated by segment customers during the period
**Revenue concentration**: What percentage of total site revenue comes from this segment
**Revenue per customer**: Average revenue generated per segment member
**Revenue efficiency**: Revenue relative to segment size and investment
**Order analysis**:
* **Total orders**: Number of purchases made by segment customers
* **Order frequency**: How often segment customers purchase
* **Purchase patterns**: Seasonal or cyclical buying behavior
* **Customer loyalty**: Repeat purchase rates within the segment
### Average Order Value (AOV)
**Segment AOV**: Average purchase amount for segment customers
**Site comparison**: How segment AOV compares to overall site average
**Value optimization**: Opportunities for upselling and cross-selling
**Pricing strategy**: Insights for segment-specific pricing and promotions
Use AOV insights to tailor product recommendations and pricing strategies. High-AOV segments may respond to premium products, while price-sensitive segments need value-focused messaging.
## Advanced Analytics Features
### Top Bought Products
**Product preferences**: Most popular products within each segment
**Category insights**: Product categories favored by segment customers
**Cross-selling opportunities**: Products frequently bought together by segment
**Inventory planning**: Demand patterns for segment-targeted products
**Using product insights**:
* **Recommendation optimization**: Feature popular products in segment-targeted campaigns
* **Inventory management**: Stock levels aligned with segment preferences
* **Product development**: New products based on segment buying patterns
* **Marketing focus**: Promote products with proven segment appeal
### Product Explorer Integration
**Detailed product analysis**: Click any top-bought product for comprehensive performance data
**Cross-segment comparison**: How products perform across different customer groups
**Product lifecycle insights**: Performance trends for individual products
**Optimization opportunities**: Underperforming products that could benefit from segment targeting
### Comparative Analysis
**Site-wide benchmarking**: How each segment performs against overall site metrics
**Segment comparisons**: Relative performance between different customer groups
**Performance trends**: Changes in segment behavior over time
**Optimization priorities**: Which segments offer the highest improvement potential
## Actionable Insights and Optimization
### High-Performing Segments
**Investment opportunities**: Segments with above-average metrics deserve increased focus
**Scale expansion**: Successful targeting strategies to apply to similar segments
**Premium treatment**: High-value segments may warrant exclusive offers or experiences
**Loyalty reinforcement**: Strategies to maintain and enhance strong segment performance
### Underperforming Segments
**Targeting refinement**: Adjust segment criteria to improve performance
**Content optimization**: Modify campaigns and messaging for better resonance
**Channel testing**: Try different approaches to reach segment members
**Value proposition adjustment**: Align offerings with segment needs and preferences
### Emerging Opportunities
**Growing segments**: Monitor size increases for scaling opportunities
**Improving performance**: Segments showing upward trends in key metrics
**Untapped potential**: Large segments with room for conversion improvement
**Market changes**: External factors affecting segment behavior and preferences
## Strategic Decision Making
### Campaign Prioritization
**Resource allocation**: Focus investment on highest-performing or highest-potential segments
**Content strategy**: Develop segment-specific content based on insights
**Channel selection**: Choose best platforms and touchpoints for each segment
**Budget distribution**: Allocate marketing spend based on segment revenue potential
### Product and Inventory Strategy
**Product development**: Create offerings aligned with segment preferences
**Inventory planning**: Stock levels based on segment demand patterns
**Pricing strategy**: Segment-specific pricing based on AOV and sensitivity analysis
**Promotion timing**: Schedule campaigns based on segment buying patterns
### Customer Experience Optimization
**Personalization depth**: Level of customization appropriate for each segment
**Journey mapping**: Optimize customer paths based on segment behavior
**Support strategy**: Tailor customer service approaches to segment needs
**Retention programs**: Develop loyalty initiatives for high-value segments
## Reporting and Communication
### Stakeholder Reporting
**Executive summaries**: High-level segment performance for leadership
**Detailed analysis**: Comprehensive reports for marketing and product teams
**Trend reports**: Regular updates on segment performance changes
**ROI documentation**: Clear business case for segment-based personalization
### Cross-Team Collaboration
**Marketing alignment**: Share insights with email, social, and advertising teams
**Product feedback**: Inform product development with segment preferences
**Customer service**: Educate support teams on segment-specific needs
**Sales enablement**: Provide sales teams with segment insights for better customer interactions
## Best Practices for Insight Utilization
### Regular Review Cycles
**Weekly monitoring**: Quick checks on key metrics and performance alerts
**Monthly deep dives**: Comprehensive analysis of trends and opportunities
**Quarterly strategy review**: Major adjustments to segment strategy and targeting
**Annual planning**: Incorporate segment insights into yearly business planning
### Data-Driven Optimization
**Test hypotheses**: Use insights to develop and test optimization strategies
**Measure impact**: Track changes in segment performance after optimization efforts
**Iterate continuously**: Regular refinement based on new data and insights
**Document learnings**: Maintain records of successful optimization strategies
### Insight Integration
**Campaign planning**: Use segment insights to inform all campaign development
**Content creation**: Develop messaging and creative based on segment data
**Technology decisions**: Platform and tool selection informed by segment needs
**Business strategy**: Broader business decisions enhanced by segment understanding
Segment insights represent historical performance and should be combined with real-time testing and customer feedback for comprehensive optimization strategies.
Segment Insights transform customer data into actionable intelligence, enabling sophisticated personalization strategies that drive both customer satisfaction and business growth. Regular analysis and optimization based on these insights ensures your segments continue to deliver maximum value over time.
# Customer Segments Overview
Source: https://docs.pureclarity.com/features/segments/overview
Comprehensive guide to PureClarity's audience segmentation features for advanced personalization and targeted campaign delivery
PureClarity's Customer Segments enable sophisticated audience targeting by dividing your customers into specific groups based on behavior, demographics, and interactions with your personalized content.
Segments allow you to move beyond "one-size-fits-all" personalization to deliver precisely targeted campaigns that resonate with specific customer groups at exactly the right moment in their journey.
## What Are Customer Segments?
Customer segments are dynamic groups of customers defined by specific conditions such as:
**Behavioral criteria:**
* **Products viewed**: Interest in specific categories or brands
* **Purchase history**: Previous orders and spending patterns
* **Site interaction**: Pages visited, time spent, engagement depth
* **Campaign engagement**: Responses to personalized content
**Journey-based criteria:**
* **Visit frequency**: New visitors vs. returning customers
* **Purchase stage**: Browsers, cart abandoners, repeat buyers
* **Lifecycle position**: New customers, loyal customers, at-risk customers
* **Seasonal patterns**: Holiday shoppers, sale seekers, regular purchasers
## The Power of Granular Personalization
### Beyond Basic Targeting
While showing content to "Everyone" provides broad reach, segments enable:
**Precision targeting**: Reach exactly the right customers with relevant messages
**Contextual relevance**: Match content to customer needs and interests
**Journey optimization**: Deliver appropriate content for each stage of the customer journey
**Performance improvement**: Higher engagement and conversion rates through relevance
### Strategic Segmentation Benefits
**Enhanced customer experience**:
* **Relevant recommendations**: Products aligned with demonstrated interests
* **Appropriate messaging**: Communication that resonates with specific groups
* **Timely interactions**: Content delivered when customers are most receptive
* **Reduced noise**: Less irrelevant content leading to better engagement
**Business performance gains**:
* **Higher conversion rates**: Targeted content converts better than generic content
* **Increased average order value**: Relevant upsells and cross-sells
* **Improved customer lifetime value**: Better experiences drive retention
* **More efficient marketing**: Resources focused on highest-potential opportunities
## Types of Segments Available
### Pre-Built Segments
PureClarity includes ready-to-use segments for immediate implementation:
**"Everyone"**: Universal segment for broad campaigns
**"New Visitors"**: First-time site visitors requiring introduction and education
**"Returning Customers"**: Previous purchasers with established relationship
**"High-Value Customers"**: Top spenders deserving premium treatment
**"Cart Abandoners"**: Customers who added items but didn't complete purchase
### Custom Segments
Build sophisticated segments tailored to your business:
**Single-condition segments**:
* Customers who viewed specific product categories
* Visitors from particular geographic regions
* Customers with certain purchase amounts
* Users who engaged with specific campaigns
**Multi-condition segments**:
* Returning customers interested in electronics under \$500
* New visitors from mobile devices browsing fashion
* High-value customers who haven't purchased in 30 days
* Customers who viewed sale items but didn't purchase
### Automated Attribution Segments
**Audience-based segments**: Created automatically through campaign attribution
**Interaction-driven groups**: Based on customer responses to personalized content
**Behavioral clusters**: Groups formed through content engagement patterns
**Dynamic updating**: Segments that evolve as customers interact with campaigns
Start with pre-built segments for immediate impact, then gradually introduce custom segments as you identify specific targeting opportunities.
## Segment Applications Across PureClarity
### Campaign Targeting
**Personalized recommendations**:
* Show different product recommendations to different customer types
* Vary recommendation intensity based on customer engagement level
* Adjust product categories based on demonstrated interests
* Customize recommendation timing for different segments
**Content campaigns**:
* Display different promotional messages to various customer groups
* Vary discount offers based on customer value and purchase history
* Customize brand messaging for different demographic segments
* Adjust content tone and style for different audience preferences
### Cross-Feature Integration
**Popup campaigns**: Target specific segments with relevant popup content
**Email personalization**: Use segments for enhanced email targeting
**Analytics insights**: Analyze performance differences across segments
## Advanced Segmentation Strategies
### Progressive Segmentation
**Start simple**: Begin with basic behavioral segments
**Learn and refine**: Use performance data to identify optimization opportunities
**Add complexity**: Introduce multi-condition segments as you gain insights
**Scale gradually**: Expand successful segmentation strategies across campaigns
### Segment Overlap Management
**Complementary segments**: Design segments that work together rather than compete
**Priority hierarchies**: Establish clear rules for customers who match multiple segments
**Exclusive segments**: Create mutually exclusive groups when appropriate
**Testing frameworks**: A/B test segment definitions and targeting strategies
### Dynamic Segment Evolution
**Behavioral updates**: Segments that change as customer behavior evolves
**Seasonal adjustments**: Segment definitions that adapt to seasonal patterns
**Lifecycle progression**: Segments that move customers through journey stages
**Performance optimization**: Continuous refinement based on results
## Segment Performance and Insights
### Analytics and Measurement
**Segment-specific metrics**:
* **Conversion rates**: How different segments respond to campaigns
* **Engagement levels**: Time spent, pages viewed, interaction depth
* **Revenue attribution**: Sales generated by segment-targeted campaigns
* **Journey progression**: How customers move between segments over time
**Comparative analysis**:
* **Segment performance**: Compare results across different customer groups
* **Campaign effectiveness**: Evaluate targeting success for specific segments
* **Revenue impact**: Understand which segments drive highest value
* **Optimization opportunities**: Identify segments needing attention or refinement
### Insights for Optimization
**Segment insights reveal**:
* **Hidden customer patterns**: Unexpected behavior clusters and preferences
* **Targeting opportunities**: Underserved segments with high potential
* **Campaign refinements**: How to improve targeting and messaging
* **New segment ideas**: Data-driven inspiration for additional segmentation
Access detailed segment performance data through [Understanding Segment Insights](/features/segments/insights) for comprehensive analysis and optimization guidance.
## Getting Started with Segments
### Implementation Roadmap
**Phase 1: Foundation**
* Use pre-built segments for immediate personalization
* Implement basic behavioral segments (new vs. returning)
* Test segment-based campaigns for performance lift
* Establish measurement and optimization processes
**Phase 2: Expansion**
* Create custom segments based on your specific business needs
* Implement multi-condition segments for precise targeting
* Expand segments across multiple campaign types
* Begin advanced attribution-based segmentation
**Phase 3: Optimization**
* Refine segments based on performance data and insights
* Implement sophisticated multi-segment strategies
* Automate segment-based personalization flows
* Scale successful segmentation across entire customer experience
### Related Resources
**Segment creation**: Learn the mechanics in [Creating a Segment](/features/segments/creating-segment)
**Implementation guidance**: Discover applications in [Where to Use Segments](/features/segments/using-segments)
**Performance analysis**: Master optimization with [Understanding Segment Insights](/features/segments/insights)
**Automated segments**: Explore [Audiences](/support/general/audiences) for attribution-based segmentation
Customer segments transform basic personalization into sophisticated, targeted experiences that drive measurable business results while creating more relevant and engaging customer journeys. Start with simple segments and evolve your strategy as you learn what resonates most with your unique customer base.
# Where to Use Segments
Source: https://docs.pureclarity.com/features/segments/using-segments
Comprehensive guide to implementing customer segments across campaigns, popups and other PureClarity features for maximum personalization impact
Customer segments can be applied across multiple PureClarity features, enabling comprehensive personalization strategies that deliver consistent, targeted experiences throughout the customer journey.
Segments work across all PureClarity personalization features, allowing you to create cohesive, multi-channel experiences that adapt to different customer groups automatically.
## Core Applications for Segments
### Campaign Targeting
**Product recommender campaigns**: Deliver different product recommendations to different customer groups based on their preferences, purchase history, and behavior patterns.
**Content campaigns**: Show targeted banners, promotional messages, and custom HTML content that resonates with specific audience segments.
**Dynamic personalization**: Automatically adjust campaign content based on which segment customers belong to, ensuring maximum relevance.
**Examples of segment-based campaigns**:
* **New customers**: Welcome campaigns with educational content and starter product recommendations
* **High-value customers**: Premium product recommendations and exclusive offers
* **Category enthusiasts**: Deep product selections within preferred categories
* **Cart abandoners**: Urgency messaging and incentive offers
### Popup Personalization
**Segment-specific popups**: Create targeted popup experiences that only display to customers meeting specific segment criteria.
**Behavioral triggers**: Combine segment membership with behavioral triggers for precisely timed popup delivery.
**Content customization**: Modify popup messaging, offers, and design based on customer segment characteristics.
**Popup examples by segment**:
* **First-time visitors**: Welcome popups with site navigation help and signup incentives
* **Returning customers**: Personalized offers based on purchase history
* **Mobile users**: Mobile-optimized popups with simplified messaging
* **Exit-intent browsers**: Last-chance offers tailored to browsing behavior
Combine segment targeting with behavioral triggers (exit intent, time on page, scroll depth) for highly effective popup campaigns that feel natural and timely.
## Advanced Segment Implementation
### Multi-Feature Coordination
**Consistent messaging**: Ensure segment-based personalization delivers consistent experiences across all touchpoints.
**Progressive personalization**: Use segments to guide customers through increasingly personalized experiences.
**Cross-feature data sharing**: Leverage segment insights from one feature to optimize others.
**Journey orchestration**: Coordinate segment-based experiences across the entire customer journey.
### Segment-Based Content Strategy
**Content libraries**: Develop content collections tailored to different segment needs and preferences.
**Messaging frameworks**: Create consistent messaging strategies for each segment across all features.
**Visual design adaptation**: Adjust colors, imagery, and layouts based on segment preferences.
**Call-to-action optimization**: Customize buttons and links for different segment motivations.
## Strategic Implementation Approaches
### Progressive Rollout
**Phase 1: Foundation**
* Implement segments in campaigns for immediate personalization impact
* Test basic segment-based recommendations and content
* Establish performance baselines and optimization processes
* Build team familiarity with segment-based thinking
**Phase 2: Expansion**
* Add segment targeting to popups for comprehensive engagement
* Begin cross-feature coordination for consistent experiences
* Develop segment-specific content libraries and messaging
**Phase 3: Optimization**
* Refine segments based on multi-feature performance data
* Implement sophisticated multi-segment strategies
* Automate segment-based personalization flows
* Scale successful patterns across entire customer experience
### Cross-Channel Integration
**Email coordination**: Use PureClarity segments to enhance email marketing targeting
**Social media alignment**: Apply segment insights to social media advertising and content
**Customer service integration**: Train support teams on segment-based customer needs
**Marketing automation**: Feed segment data into broader marketing automation platforms
## Segment Performance Optimization
### Feature-Specific Metrics
**Campaign performance**:
* **Segment conversion rates**: How different segments respond to campaign content
* **Revenue attribution**: Sales generated by segment-targeted campaigns
* **Engagement metrics**: Click-through rates and interaction patterns
* **Content effectiveness**: Which content resonates with which segments
**Popup performance**:
* **Display rates**: How often popups show to different segments
* **Conversion rates**: Popup goal completion by segment
* **User experience impact**: Exit rates and session quality
* **Timing optimization**: Best display timing for different segments
### Cross-Feature Analysis
**Segment journey mapping**: Track how customers move between features and segments
**Touchpoint optimization**: Identify most effective personalization touchpoints
**Experience consistency**: Ensure segment experiences feel cohesive across features
**Resource allocation**: Focus investment on highest-impact segment applications
Access comprehensive segment performance data through [Understanding Segment Insights](/features/segments/insights) for detailed analysis across all features.
## Best Practices for Segment Implementation
### Consistency Guidelines
**Messaging alignment**: Ensure segment-based messaging is consistent across all features
**Visual coherence**: Maintain design consistency while adapting for different segments
**Value proposition clarity**: Clearly communicate value for each segment across touchpoints
**Experience flow**: Design smooth transitions between segment-targeted features
### Testing and Optimization
**A/B testing**: Compare segment-targeted vs. non-targeted experiences
**Multi-variate testing**: Test different segment combinations and targeting strategies
**Performance monitoring**: Regular review of segment effectiveness across features
**Iterative improvement**: Continuous refinement based on cross-feature insights
### Technical Considerations
**Data integration**: Ensure segments work consistently across all PureClarity features
**Real-time updates**: Verify segment membership updates in real-time across features
**Performance impact**: Monitor site performance when implementing multiple segment features
**Backup strategies**: Plan for scenarios when segment data is unavailable
## Common Implementation Challenges
### Segment Overlap
**Multiple segment membership**: Customers qualifying for multiple segments
**Priority rules**: Establish clear hierarchies for segment-based content
**Conflict resolution**: Handle cases where segments have contradictory targeting
**Testing frameworks**: Validate segment logic across all features
### Content Management
**Scale challenges**: Managing content for multiple segments across features
**Consistency maintenance**: Keeping segment-based content aligned and current
**Resource allocation**: Balancing content creation across segments and features
**Quality control**: Ensuring all segment experiences meet quality standards
### Performance Monitoring
**Multi-feature tracking**: Monitoring segment performance across all applications
**Attribution complexity**: Understanding which features drive segment success
**Optimization priorities**: Deciding which segment/feature combinations to optimize first
**ROI measurement**: Calculating return on investment for segment-based personalization
## Getting Started Checklist
**Foundation setup**:
* [ ] Define initial segments based on business priorities
* [ ] Implement segments in campaigns for immediate impact
* [ ] Establish performance measurement and optimization processes
* [ ] Train team on segment-based thinking and strategy
**Feature expansion**:
* [ ] Add segment targeting to popups for engagement optimization
* [ ] Coordinate messaging and experiences across features
* [ ] Develop comprehensive content strategy for segments
**Advanced optimization**:
* [ ] Refine segments based on multi-feature performance data
* [ ] Implement cross-feature analytics and optimization
* [ ] Scale successful segment strategies across entire customer experience
* [ ] Integrate with broader marketing and customer experience initiatives
Segments transform isolated personalization features into a cohesive, customer-centric experience strategy that adapts to individual needs while driving measurable business results across all customer touchpoints.
# Creating Custom Templates
Source: https://docs.pureclarity.com/features/templates/creating-templates
Comprehensive guide to building custom templates using Handlebars templating engine, schemas, blocks, and advanced configuration options
Templates consist of 2 parts: the HTML template (written in Handlebars) and the schema that defines the properties of a template (what you can configure when you create a campaign).
## Handlebars
A good introduction to creating templates is to read up on [Handlebars](https://handlebarsjs.com/guide/). PureClarity templates can use the [built-in helpers](https://handlebarsjs.com/guide/builtin-helpers.html#if), as well as helpers provided by [Just Handlebars](https://github.com/leapfrogtechnology/just-handlebars-helpers).
The model that gets used when the template is rendered depends on what the campaign is showing. If it is a recommender, then the properties you can use are defined in our [Custom documentation](https://pureclarity.stoplight.io/docs/bespoke-docs/c2NoOjE4MjI0NzE-product-recommender-model).
You will almost always start with a template created by PureClarity, and then adapt it to suit the styling and functionality on your site. You can also start a new template from scratch if that's preferred.
We are always available to help - drop us a message at **[support@pureclarity.com](mailto:support@pureclarity.com)** and we will help you create your template.
## Schema
The schema defines the properties you can set in the campaign. Each template must have a schema, and is defined between the `{{#schema}}` and `{{/schema}}` parts of the template - usually at the end.
The best way to learn about how to create a schema is to create a new template and base it on one of our default templates. You can then look to see how we have set it up.
The schema is a JSON object, and is composed of 4 key components: the **schema**, **blocks**, **sub\_blocks** and **settings**.
### Schema Properties
#### id
The `id` attribute determines the title shown in the admin when selecting the template.
#### name
The `name` attribute determines the title shown in the admin when selecting the template.
#### description
The `description` attribute determines the description shown in the admin when selecting the template.
#### preview\_image\_url
The `preview_image_url` attribute determines the preview image shown in the admin when selecting the template. This helps users to visually see what your template will look like.
#### type
The `type` attribute determines whether the template is for *content* or *recommendations*. This affects which part of the template picker the template appears in.
* `content` - The template will be used for content (not recommendations)
* `recommender` - The template can only be used to show recommendations
#### settings
The `settings` attribute defines the customizations that a client can make. They provide the properties that are available when creating a campaign.
## Blocks
The `blocks` attribute defines an array of `block`, reusable content available in a template. Blocks are reusable modules of content within a template that can be added, removed, and reordered when creating a campaign.
### Block Configuration
#### max\_blocks (optional)
The `max_blocks` attribute defines the maximum number of blocks that can be added when creating a campaign with the template. This is shown on the "Add Block" button when creating a campaign.
#### min\_blocks (optional)
The `min_blocks` attribute defines the minimum number of blocks that must be added when creating a campaign with the template.
#### default (optional)
The `default` attribute defines default values that will be displayed when creating a campaign from a template. This is an array of block types, such as `["image", "description", "button"]`.
### Block Properties
Blocks are reusable modules of content within a template that can be added, removed, and reordered when creating a campaign. A block represents the contents and settings of a single block in an array of schema blocks.
**Examples of what blocks can achieve:**
* **Images in a slideshow**: The same `block` multiple times
* **A 2 column layout**: Two different blocks, each taking up 50% of the space
#### type
The `type` attribute is a user defined value, useful when looping over blocks in the template to specify different HTML for the different blocks.
#### name
The `name` attribute determines the title shown in the admin when selecting the block type.
#### sub\_blocks
The `sub_blocks` attribute defines an array of `sub_block`. Sub-blocks are reusable modules of content within a `block` within a template that can be added, removed, and reordered when creating a block.
#### settings
The `settings` attribute defines the customizations that a client can make. They provide the properties that are available in the admin GUI.
All settings at the block level must have a unique ID within that particular block. Having duplicates will result in an error.
#### max\_blocks (optional)
The `max_blocks` attribute on a block defines the maximum number of sub-blocks that can be added when creating a campaign with the template.
#### min\_blocks (optional)
The `min_blocks` attribute on a block defines the minimum number of sub-blocks that must be added to the block when creating a campaign with the template.
#### max\_instances (optional)
The `max_instances` attribute defines the maximum number of this type of block that can be added when creating a campaign with the template. This is distinct from the top level `max_blocks` as it applies only to this specific block.
#### min\_instances (optional)
The `min_instances` attribute defines the minimum number of this type of block that must be added when creating a campaign with the template.
## Sub Blocks
Sub-blocks are reusable modules of content within the `block` HTML that provide an extra layer of flexibility. An example of this would be a block that holds a list of links. Each link would be represented by a sub block that could contain a setting for the link text and a setting for the link URL.
### Sub Block Properties
#### type
The `type` attribute is a user defined value, useful when looping over sub blocks in the template to specify different HTML.
#### name
The `name` attribute determines the title shown in the admin when selecting the sub block type.
#### settings
The `settings` attribute defines the customizations that a client can make. They provide the properties that are available in the admin GUI.
All settings at the sub block level must have a unique ID within that particular sub block. Having duplicates will result in an error.
#### max\_instances (optional)
The `max_instances` attribute defines the maximum number of this type of sub block that can be added when creating a block within the campaign with the template.
#### min\_instances (optional)
The `min_instances` attribute defines the minimum number of this type of sub block that must be added when creating a block within the campaign with the template.
## Settings
Settings are the way in which clients can customize a template for a specific campaign. Settings are basic types provided by PureClarity, such as colour, select or text.
### Standard Setting Attributes
#### type
The `type` attribute defines the setting type and consequently the GUI that appears in the admin for it.
#### id
The `id` attribute defines the ID used to reference the setting in the template HTML. It must be unique within its current scope.
All the settings in a particular block must have a unique ID, but two different blocks in the same template can have the same setting ID. All the settings at the level of the schema must have a unique ID, but as blocks are in a different scope, they can have a setting with the same ID as a schema level setting.
#### name
The `name` attribute defines the label shown for the setting in the GUI.
#### description (optional)
The `description` attribute defines informational text for the setting in the GUI.
#### default (optional)
The `default` attribute defines the default value for the setting in the GUI.
## Setting Types
This lists the available types provided by PureClarity to use for settings.
### info
The `info` type outputs as either a header or paragraph in the GUI and is purely informational. Useful for grouping several settings or providing more detailed information.
| **Attribute** | **Description** | **Required** |
| ------------- | ----------------------------------------- | ------------ |
| content\_type | Whether this is a "header" or "paragraph" | Yes |
| content | The content to output as a string value | Yes |
### checkbox
The `checkbox` type outputs as a checkbox field in the GUI. Useful for toggling features on and off. Returns a boolean when referencing in the template HTML.
### number
The `number` type outputs as a number input field in the GUI.
| **Attribute** | **Description** | **Required** |
| ------------- | --------------------------------- | ------------ |
| placeholder | A placeholder value for the input | Yes |
### range
The `range` type outputs as a slider field in the GUI. Returns a number when referencing in the template HTML.
| **Attribute** | **Description** | **Required** |
| ------------- | --------------------------------------------------------------------- | ------------ |
| min | The minimum value of the range | Yes |
| max | The maximum value of the range | Yes |
| step | The increment size between steps of the slider | Yes |
| unit | The unit for the slider. For example, you could set px for font-size. | No |
### select
The `select` type outputs as a select field with options in the GUI. Returns a string when referencing in the template HTML.
| **Attribute** | **Description** | **Required** |
| ------------- | ------------------------------------------------------------------------------------------------ | ------------ |
| options | An array of objects containing value and label string attributes for each option in the dropdown | Yes |
### text
The `text` type outputs as a single line text input field in the GUI. Returns a string when referencing in the template HTML.
| **Attribute** | **Description** | **Required** |
| ------------- | --------------------------------- | ------------ |
| placeholder | A placeholder value for the input | Yes |
### textarea
The `textarea` type outputs as a multi line textarea field in the GUI. Returns a string when referencing in the template HTML.
| **Attribute** | **Description** | **Required** |
| ------------- | --------------------------------- | ------------ |
| placeholder | A placeholder value for the input | Yes |
### colour
The `colour` type outputs as a dropdown in the GUI. Theme colours can be selected, and if a value of "Custom" is selected, a colour picker is presented to the user. Returns a string when referencing in the template HTML.
### category\_picker
The `category_picker` type outputs as a category picker in the GUI, allowing you to select a category from the information uploaded to PureClarity in the Category feed. Returns a `category` object when referencing in the template HTML.
### product\_picker
The `product_picker` type outputs as a product picker in the GUI, allowing you to select a product from the information uploaded to PureClarity in the Product feed. Returns a `product` object when referencing in the template HTML.
### html
The `html` type outputs as a multi-line textarea in the GUI, allowing you to enter HTML markup. Returns a string when referencing in the template HTML.
| **Attribute** | **Description** | **Required** |
| ------------- | --------------------------------- | ------------ |
| placeholder | A placeholder value for the input | Yes |
### image\_picker
The `image_picker` type outputs as an image picker in the GUI, allowing you to select an image that has been uploaded to PureClarity, or an external URL. Also allows the alt text to be specified. Returns an object when referencing in the template HTML.
| **Property** | **Type** | **Usage** |
| ------------- | -------- | ------------------------------------------------------ |
| src | string | The image URL |
| height | number | Height of the image (automatically determined) |
| width | number | Width of the image (automatically determined) |
| aspect\_ratio | number | Aspect ratio of the image (automatically determined) |
| alt\_text | string | Optional alt text for the image (if specified by user) |
### font
The `font` type outputs as a selection of font related options in the GUI, such as font family to use, font size and font size unit options, line height etc. Returns an object when referencing in the template HTML.
| **Property** | **Type** | **Usage** |
| --------------------- | -------- | ---------------------------------------------------------------- |
| font\_family | string | A font to use |
| font\_size | string | Value of the font size (10, 24 etc) |
| font\_size\_unit | string | The unit to use for the font size (px, em, rem etc) |
| font\_weight | string | Font weight, using the humanised values (bold, normal, thin etc) |
| text\_transform | string | Option to transform text (Uppercase, lowercase, capitalise etc) |
| line\_height | string | Value of the line height (10, 24 etc) |
| line\_height\_unit | string | The unit to use for the line height (px, em, rem etc) |
| letter\_spacing | string | Value of the letter spacing (10, 24 etc) |
| letter\_spacing\_unit | string | The unit to use for the letter spacing (px, em, rem etc) |
### rich\_text
The `rich_text` type outputs as a multi-line text area with text formatting options in the GUI, allowing you to enter formatted text content. Returns a string when referencing in the template HTML.
### url
The `url` type outputs as a single line input field in the GUI, allowing you to enter a URL. Returns a string when referencing in the template HTML.
### video\_url
The `video_url` type outputs as a single line input field in the GUI, allowing you to enter a URL or ID of a YouTube or Vimeo video. Returns a full URL string when referencing in the template HTML.
Start with existing PureClarity templates as a foundation, then customize them to match your site's styling and functionality requirements. This approach saves time and ensures you follow best practices.
# Templates Overview
Source: https://docs.pureclarity.com/features/templates/overview
Understanding PureClarity templates - the foundation for creating customized campaigns with personalized content and recommendations
When you create a [campaign](/features/campaigns/overview) in PureClarity, you decide what content to show. This can be personalized recommendations, or other content you want to show to your users.
All this content is defined using templates. PureClarity comes with a wide range of templates to help you get started and you can create new ones yourself.
## Template Components
Templates are made up of 2 parts:
### HTML Template
A template for the HTML that will be shown on your site. This uses a template language called Handlebars. When content is shown to a user, the template is rendered (converted) into HTML. CSS and JavaScript can also be part of this.
### Schema
A schema which describes the properties of the template. This could be settings such as width, height, colour etc. When a campaign is created the schema defines what you can configure for the template. These properties are available for use in the HTML via Handlebars.
When a campaign is shown to the user, the template chosen for the campaign is rendered and HTML is produced that is shown to the user. This takes the settings set up in the campaign (defined by the schema) and the model for what is being rendered (such as the products to show in a recommender).
## Template Editor Overview
The template editor lists all the custom templates you have set up in PureClarity. Click on a template and it will open in the editor.
### Template Management Features
* **Usage Tracking**: See how many campaigns are using each template
* **Quick Actions**: Duplicate, rename and save templates easily
* **Delete Protection**: You cannot delete a template if it is being used by a campaign
* **Template Creation**: Add new templates by clicking "Add New Template"
When creating a new template, you can choose what template you want to base your template on. You can also choose an empty template if you want to start building from scratch.
## Template Types
PureClarity templates can be used for different types of content:
### Content Templates
Used for static or dynamic content that isn't specifically product recommendations, such as:
* Banners and promotional content
* Custom messaging
* Informational blocks
### Recommendation Templates
Specifically designed for displaying product recommendations, including:
* Product carousels
* Product grids
* Recently viewed items
* Personalized product suggestions
## Getting Started
For detailed information on creating your own templates, including working with Handlebars and schema configuration, see our [Creating Templates Guide](/features/templates/creating-templates).
If you need help creating custom templates, our team is always available to assist. Contact us at [support@pureclarity.com](mailto:support@pureclarity.com) and we'll help you create the perfect template for your needs.
# Adding Zones
Source: https://docs.pureclarity.com/features/zones/adding-zones
Step-by-step guide to creating and configuring PureClarity zones for personalized content placement across your website
Creating zones in PureClarity enables you to define specific areas on your website where personalized content, recommendations, and campaigns will appear. Proper zone setup is essential for effective personalization deployment.
Zones act as containers for your personalized content, requiring both configuration in PureClarity and implementation in your website's HTML structure.
## Accessing Zone Management
Navigate to **Settings > Zones** to access the zone configuration interface where you can create, edit, and manage all your personalization zones.
The zone management dashboard provides:
* **Overview of existing zones**: Complete list of configured zones
* **Zone performance metrics**: Usage and effectiveness data
* **Configuration tools**: Add, edit, delete, and organize zones
* **Implementation guidance**: Technical details for website integration
## Creating a New Zone
### Basic Zone Configuration
**Zone Name**: Create a descriptive, user-friendly name that clearly indicates the zone's purpose and location
* Examples: "Home Page Hero Image", "Product Page Cross-Sells", "Cart Page Upsells"
* Use consistent naming conventions across your organization
* Include page type and position for clarity
**Reference ID**: Assign a unique technical identifier for implementation
* **Homepage zones**: HP-01, HP-02, HP-03, etc.
* **Product page zones**: PP-01, PP-02, etc.
* **Mobile-specific zones**: HPM-01, PPM-01, etc.
* **Category page zones**: CP-01, CP-02, etc.
Use systematic reference ID patterns that make it easy for developers to understand zone placement and purpose. Consider including device type indicators (M for mobile, D for desktop) when needed.
### Page Type Definition
**Specify target pages**: Define which page types the zone should appear on:
**Common page types**:
* **Homepage**: Main landing page and site entry point
* **Product pages**: Individual product detail pages
* **Category pages**: Product category and collection listings
* **Cart/basket pages**: Shopping cart and checkout process
* **Search results**: Product search result pages
* **Content pages**: Blog posts, articles, and informational content
**Page targeting options**:
* **Universal zones**: Appear across multiple page types
* **Specific page zones**: Limited to particular page types or URLs
* **Conditional zones**: Display based on customer behavior or characteristics
* **Dynamic zones**: Adapt content based on page context
### Zone Organization and Tagging
**Tags and categories**: Organize zones for easier management
* **By function**: Recommendations, promotions, content
* **By location**: Header, footer, sidebar, main content
* **By priority**: Primary, secondary, testing zones
* **By team**: Marketing, merchandising, development
**Documentation**: Include notes about zone purpose, targeting strategy, and implementation details
## Technical Implementation Requirements
### HTML Integration
Each zone requires implementation as a `
` element in your website's HTML:
```html theme={null}
```
**Implementation considerations**:
* **Zone placement**: Position zones where content should appear
* **Page template integration**: Add zones to appropriate template files
* **Responsive design**: Ensure zones work across all device types
* **Performance optimization**: Minimize impact on page load times
### Platform-Specific Implementation
**Shopify**:
* **Online Store 2.0**: Use app blocks for easy zone management
* **Vintage themes**: Manual liquid template modification required
* **Zone snippets**: Include PureClarity zone code in theme files
**Magento**:
* **Widget system**: Add zones through Magento's widget interface
* **Template integration**: Direct zone code insertion in template files
* **Block management**: Use Magento's layout system for zone placement
**WooCommerce**:
* **Plugin integration**: Zones managed through PureClarity plugin
* **Theme hooks**: Automatic zone insertion via WordPress hooks
* **Manual placement**: Custom zone positioning for specific needs
Always test zone implementation across different page types and devices before launching campaigns to ensure proper display and functionality.
## Zone Strategy and Planning
### Strategic Zone Placement
**High-impact locations**:
* **Above the fold**: Prime visibility zones for key messages
* **Product context**: Zones near product information for relevant recommendations
* **Decision points**: Cart and checkout areas for final conversion optimization
* **Navigation areas**: Header and sidebar zones for consistent messaging
**Content flow integration**:
* **Natural placement**: Zones that feel part of the organic content flow
* **Non-intrusive positioning**: Avoid disrupting core user experience
* **Progressive disclosure**: Zones that reveal information as users scroll
* **Context-sensitive areas**: Zones that adapt to page content and user behavior
### Zone Hierarchy and Priorities
**Primary zones**: Main personalization areas with highest visibility and impact
**Secondary zones**: Supporting content areas for additional engagement
**Testing zones**: Experimental areas for new content and strategies
**Seasonal zones**: Temporary areas for time-limited campaigns and promotions
### Multi-Device Considerations
**Responsive design**: Zones that adapt appropriately across screen sizes
**Mobile optimization**: Specific zones optimized for mobile user experience
**Device-specific content**: Different content strategies for different devices
**Performance considerations**: Mobile-optimized zones for faster loading
## Zone Management Best Practices
### Naming Conventions
**Consistent patterns**: Use standardized naming across all zones
**Descriptive clarity**: Names that immediately convey zone purpose and location
**Team communication**: Names that work for both technical and marketing teams
**Future scalability**: Naming patterns that accommodate business growth
### Reference ID Systems
**Logical organization**: ID patterns that group related zones
**Sequential numbering**: Systematic approach to zone numbering
**Platform compatibility**: IDs that work across all implementation platforms
**Documentation standards**: Clear documentation of ID meanings and usage
### Performance Monitoring
**Zone effectiveness**: Track which zones drive the most engagement and conversions
**Content performance**: Monitor how different content types perform in each zone
**User experience impact**: Ensure zones enhance rather than detract from user experience
**Technical performance**: Monitor zone impact on page load times and site performance
## Common Zone Configuration Scenarios
### E-commerce Recommendations
**Homepage zones**:
* **HP-01**: Hero area for featured products or promotions
* **HP-02**: Trending products section
* **HP-03**: Personalized recommendations based on browsing history
**Product page zones**:
* **PP-01**: Related products and alternatives
* **PP-02**: Frequently bought together recommendations
* **PP-03**: Complete the look or accessory suggestions
**Cart page zones**:
* **BP-01**: Last-minute add-ons and upsells
* **BP-02**: Free shipping threshold messaging
* **BP-03**: Recently viewed items for reconsideration
### Content and Promotions
**Promotional zones**:
* **PROMO-01**: Site-wide promotional banners
* **PROMO-02**: Category-specific offers
* **PROMO-03**: Seasonal or time-limited promotions
**Content zones**:
* **CONTENT-01**: Educational articles and guides
* **CONTENT-02**: Brand storytelling and values
* **CONTENT-03**: User-generated content and reviews
## Troubleshooting Zone Issues
### Common Implementation Problems
**Zone not displaying**:
* Verify HTML implementation is correct
* Check zone ID matches exactly
* Ensure page type targeting is appropriate
* Confirm PureClarity script is loaded
**Content not appearing**:
* Verify campaigns are targeting the correct zone
* Check campaign and segment targeting criteria
* Ensure content meets minimum display requirements
* Review campaign scheduling and activation status
**Performance issues**:
* Optimize zone placement for page loading
* Reduce number of zones per page if necessary
* Check for JavaScript conflicts or errors
* Monitor and adjust zone update frequency
### Optimization Strategies
**Zone performance analysis**:
* Regular review of zone effectiveness and engagement
* A/B testing of zone placement and content
* User behavior analysis to optimize zone positioning
* Conversion tracking to measure zone impact on business goals
**Continuous improvement**:
* Regular zone audit and cleanup
* Performance optimization based on data insights
* Strategic zone expansion based on successful patterns
* Team training on zone best practices and optimization
Proper zone setup creates the foundation for successful personalization, enabling targeted content delivery that enhances customer experience while driving measurable business results. Take time to plan zone strategy carefully and implement with attention to both technical requirements and user experience considerations.
# Zones Overview
Source: https://docs.pureclarity.com/features/zones/overview
Understanding PureClarity zones - the foundation for displaying personalized content across your website
PureClarity uses zones as designated areas across your website to display personalized, relevant content. These zones serve as containers for [campaigns](/features/campaigns/overview) and can appear on web pages and in automated email campaigns.
## What are Zones?
Zones are specific locations on your website where PureClarity can display dynamic content. The example below shows a homepage zone displaying personalized product recommendations:
Campaigns determine what content appears in zones, when it appears, and who sees it. Zones are simply the containers where this personalized content is displayed.
## Zone Limitations and Performance
* **Maximum 8 zones per page** to maintain optimal site performance
* **Multiple zones per page type** supported (e.g., header, sidebar, footer zones on product pages)
* **Cross-page consistency** - zones can appear on multiple page types with different content
## Zone Content Types
PureClarity supports various content types within zones:
### AI-Powered Content
* **AI Recommender** - PureClarity's algorithms automatically select optimal recommendation strategies
* **Automated personalization** based on customer behavior and preferences
### Manual Content
* **Manual Recommender** - Hand-curated product selections
* **Banner Images** - Single promotional images for special offers
* **Carousel** - Customizable image slideshows
* **HTML Content** - Custom HTML for maximum flexibility
* **Custom Content Types** - Create unique content formats for specific needs
Start with AI Recommenders to leverage PureClarity's machine learning capabilities, then add manual content for specific promotional campaigns.
## Page Type Coverage
Zones can be placed on over 19 predefined page types:
### E-commerce Pages
* Homepage
* Product Pages
* Category Pages
* Search Results
* Basket/Cart Page
* Checkout Pages
### Customer Experience Pages
* My Account
* Order Confirmation
* My Recommendations
* Custom landing pages
You're not limited to predefined page types - zones can appear on any custom page type you define for your specific site structure.
## Zone Placement Strategy
### High-Impact Locations
* **Above the fold** on homepage for maximum visibility
* **Product page sidebars** for cross-sell opportunities
* **Cart page** for upsell recommendations
* **Post-purchase** for related product discovery
### Performance Considerations
* **Mobile responsiveness** - ensure zones work across all devices
* **Load time impact** - balance personalization with site speed
* **User experience** - avoid overwhelming visitors with too many zones
Strategic zone placement is crucial for success. Start with proven high-conversion locations before expanding to experimental placements.
## Getting Started with Zones
Ready to implement zones on your site?
Learn how to create and configure zones in our [Adding Zones](/features/zones/adding-zones) guide.
### Best Practices
1. **Start simple** with 2-3 zones on key pages
2. **Use AI recommendations** initially to gather performance data
3. **Monitor analytics** to identify optimal zone placements
4. **Test different content types** to find what resonates with your audience
5. **Scale gradually** based on performance insights
# BigCommerce Configuration
Source: https://docs.pureclarity.com/integrations/bigcommerce/configuration
Complete configuration guide for BigCommerce PureClarity integration including data synchronization, Stencil theme setup, and zone installation
## What the Application Does
The PureClarity BigCommerce application will integrate your shop with PureClarity. It will:
1. **Automatically synchronize your shop data** with PureClarity so that it can provide personalized merchandising. This includes your products, brands, categories, orders and customers.
2. **Add the PureClarity template** into your Stencil themes. Templates and Themes are discussed in more detail below.
3. **Add a script to your site** that tracks your customers activity and will display personalized content in your PureClarity Zones.
## What You Need to Do
Once you have installed the application, your store needs to synchronize with PureClarity. This process will start automatically after the application is installed onto your site.
During this process the application UI will update you with the status of the synchronization. You may leave the application and come back later if required.
The initial synchronization process may take several minutes depending on the size of your product catalog and customer database.
### Enabling PureClarity
Finally, enable PureClarity by pressing the **Enable** button. This will add our script to your site, and PureClarity will begin to show personalized content.
We recommend enabling PureClarity during off-peak hours to monitor the initial performance and ensure everything is working correctly.
## Stencil Themes
### What the Plugin Does
PureClarity installs a PureClarity zone into several regions in all the Stencil themes on your site. The regions are:
#### Automatic Zone Installation
The following zones are automatically added to your theme:
1. **Homepage (pages/home)**
* **HP-01** and **HP-02** will be added into the region `home_below_carousel`
2. **Product Pages (pages/product)**
* **PP-01** and **PP-02** will be added into the region `product_below_content`
3. **Category Pages (pages/category)**
* **CP-01** and **CP-02** will be added into the region `category_below_content`
4. **Search Pages (pages/search)**
* **SP-01** and **SP-02** will be added into the region `search_below_content`
5. **Cart Pages (pages/cart)**
* **BP-01** and **BP-02** will be added into the region `header_bottom`
These zones are strategically placed to maximize engagement and conversion opportunities throughout the customer journey.
### Zone Configuration
Each zone can be configured independently in the PureClarity admin console to show:
* Product recommendations
* Category recommendations
* Promotional banners
* Personalized content
* Search-driven recommendations
### Theme Compatibility
The PureClarity BigCommerce app is designed to work with all Stencil themes. The zones are inserted using BigCommerce's standard template regions, ensuring compatibility across different theme designs.
If you have a heavily customized theme, you may want to test the zone placements to ensure they integrate well with your design.
## Data Synchronization
### Automatic Sync Features
PureClarity automatically synchronizes the following data from your BigCommerce store:
* **Products**: Including prices, descriptions, images, and inventory status
* **Categories**: Category structure and metadata
* **Brands**: Brand information and associations
* **Customers**: Customer profiles and behavior data
* **Orders**: Purchase history and transaction details
### Sync Frequency
* **Real-time updates**: Product changes, inventory updates
* **Daily sync**: Complete data refresh
* **Order sync**: Immediate upon order completion
## Uninstall
### How to Uninstall the Application
Uninstall the PureClarity app from your BigCommerce admin, just like any other BigCommerce app.
Please note that once the app is uninstalled your PureClarity account will be deleted and any data collected will be permanently removed. This includes all data synchronized with PureClarity and all data collected during the time the app was enabled.
### Before Uninstalling
If you're considering uninstalling:
1. **Export any important data** from your PureClarity admin console
2. **Download reports** you may need for future reference
3. **Contact support** at [support@pureclarity.com](mailto:support@pureclarity.com) if you're experiencing issues - we may be able to help resolve them
### Data Retention
After uninstalling:
* All PureClarity zones will be removed from your theme
* Customer tracking will stop immediately
* All personalization features will be disabled
* Your PureClarity account and data will be permanently deleted within 24 hours
If you're temporarily disabling PureClarity, consider using the "Disable" feature in the app settings instead of uninstalling, which preserves your data and configuration.
# BigCommerce Installation
Source: https://docs.pureclarity.com/integrations/bigcommerce/installation
Step-by-step installation guide for setting up PureClarity with BigCommerce including account creation, setup process, and free trial information
The PureClarity BigCommerce app is available in the BigCommerce App Marketplace and provides seamless integration with your store.
## Setting Up a New Account
Once the plugin is installed you can fill in the form to create your PureClarity account. The Email and Password will be used to login to the [PureClarity Admin](https://admin.pureclarity.com/). Most of the information will be auto-completed using information from your BigCommerce store.
Choose the region that the majority of your customers operate in. This helps ensure the personalized content is delivered as fast as possible to your customers.
After signing up, PureClarity will create your account. During this period a splash screen will be shown. Your account should be ready within a couple of minutes.
The account creation process typically takes 2-3 minutes to complete. You can safely wait on the setup screen while your account is being prepared.
## Free Trial
PureClarity offers a 14-day free trial while you decide whether to use the service. The status of the account will be displayed in the applications status bar once the account has been setup.
You can sign up for a paid plan in the [PureClarity Admin](https://admin.pureclarity.com/) or by contacting our support team.
If you run past your free trial without signing up your account will be deactivated.
### What's Included in the Free Trial
During your 14-day free trial, you get access to:
* Full personalization features
* Product recommendations
* Customer segmentation
* Analytics and reporting
* Complete BigCommerce integration
* Email support
### Converting to a Paid Plan
To continue using PureClarity after your trial:
1. Log in to your [PureClarity Admin](https://admin.pureclarity.com/)
2. Navigate to account settings
3. Choose a pricing plan that fits your needs
4. Enter your payment information
We recommend setting up your paid plan a few days before your trial expires to ensure uninterrupted service.
## Next Steps
Once your account is created, proceed to the [BigCommerce Configuration](/integrations/bigcommerce/configuration) guide to complete your setup and begin synchronizing your store data with PureClarity.
# 2. Event Tracking
Source: https://docs.pureclarity.com/integrations/custom/api-reference/client-side/event-tracking
# Event Tracking
Tracking events are required in order to send user activity to PureClarity which in turn allows PureClarity to learn about them and thus fit them into PureClarity customer segments allowing personalized and relevant merchandising zones to be displayed within your site.
As outlined in the PCJS Master Function section the standard master function snippet has to be added to every page for tracking events to work:
## PCJS Master Function
```javascript theme={null}
```
Among other things the PCJS Master Function adds the \_pc() global function to the site which is what we use to add tracking events. As shown above the `_pc(‘page_view’, {…} )` is the first tracking event to be called, and is different for each page in order to add context to what the user is viewing.
## Page View Tracking Event
The [page\_view tracking event](/integrations/custom/api-reference/event-tracking/page_view) can take an optional "context data" object as the second argument, and is used to tell PureClarity which page the user is currently viewing along with contextual information about the page, such as the Id of a product being viewed. This page type and context information is used by PureClarity to influence which zones are returned and what content they may display based on the context. A page\_view tracking event with context data is shown below:
```javascript theme={null}
_pc('page_view', {...} );
```
```javascript theme={null}
_pc('page_view', { page_type: 'product_page', product_id: 'abc123' } );
```
This tells PureClarity to add context to the merchandising zones and thus affects what content is returned.
The possible context data options and page\_types for page view tracking event are detailed in the API Tracking Reference section.
## General Tracking Events
All tracking events are added to the site using the `_pc()` JavaScript global function. Similarly to the page view tracking event, the following example shows how this should be formatted:
```javascript theme={null}
_pc(tracking_event_name, context_data);
```
…where tracking\_event\_name is the name of the event to be tracked, and the context\_data is a JavaScript context data object with specified properties. The data context object is different for different events. An example of a product view tracking event would be placed on the page like so:
```javascript theme={null}
_pc('product_view', { id: 'abc123' } );
```
For a full list of tracking events that need to be implemented see the API Tracking Events reference section.
## Callback Events
Your own JavaScript function can be called once PureClarity has returned results and rendered zones on the page. This is useful should you wish to manipulate the content or styling of what is returned. For example you could use JQuery to set “live stock” alerts for products in a recommender.
The following shows how to implement a callback event:
```javascript theme={null}
_pc('callback_event', function(){
console.log('PureClarity Callback!');
});
```
## Pre-render Callback Events
Sometimes you might need to initialise the contents of a zone before they are displayed, for example if you are using a custom slider for a product recommender and you want to only initialize it if content is returned. PureClarity supports this by providing the `prerender_callback_event`. To implement this use the following code snippet:
```javascript theme={null}
_pc('prerender_callback_event', function(){
console.log('PureClarity Callback!');
});
```
The lifecycle of both the `prerender_callback_event` and the `callback_event` is as follows:
* PureClarity loads the content into the HTML DIV element. (If there is no content to show, then PureClarity will not alter the content of the HTML DIV).
* The prerender\_callback\_event function is then called.
* PureClarity sets the ‘display’ style of the HTML DIV element to ‘block’
* PureClarity calls the callback\_event.
For most sites, the `callback_event` will be enough. If you want to perform some initialisation before the zone content is made visible then set the style of the block to ‘hidden’ and then subscribe to the `prerender_callback_event`.
# 4. HTML Templates
Source: https://docs.pureclarity.com/integrations/custom/api-reference/client-side/html-templates
# HTML Templates
There are several PureClarity templates that you can configure or override. It is important to remember that a single zone can show different recommenders, images or even HTML at different times for different users so you'll need to style each type. The default templates are:
* [Product Recommender](/integrations/custom/api-reference/models/product-recommender-model)
* [Brand Recommender](/integrations/custom/api-reference/models/brand-recommender-model)
* [Category Recommender](/integrations/custom/api-reference/models/category-recommender-model)
* [Image Carousel](/integrations/custom/api-reference/models/carousel-model)
* [Static Image](/integrations/custom/api-reference/models/image-model)
The HTML and CSS that is rendered and injected onto the page by PureClarity can be edited in the Admin Console. You can find this under Settings > Templates. See the Templating section for further information.
# 1. Overview
Source: https://docs.pureclarity.com/integrations/custom/api-reference/client-side/overview
# Overview
Once you have decided where you will be placing all your zones on your site you can follow this section to help add tracking events and zones to your pages.
Please read our [Implementation Methods](/integrations/custom/api-reference/getting-started/implementation-methods---client-vs-server) guide to determine whether to use client-side or server-side for your site.
# 3. Zones
Source: https://docs.pureclarity.com/integrations/custom/api-reference/client-side/zones
# Zones
## Adding Zones To Your Pages
Zones, also known as Merchandising Zones, are areas on the site that render PureClarity content such as a product recommender, an image, a carousel or custom HTML. Each Zone is an HTML `
` element with a reference to a zone ID, as a data attribute. The zone ID is a unique ID that references each zone configured in PureClarity for each page type. For example on the home page a zone with ID HP01 may represent as a banner image. A page can have multiple zones.
Below shows an example of a `
` element tagged with a zone ID:
```html theme={null}
```
Replace `` with the ID of the zone. For example:
```html theme={null}
```
When rendering content PureClarity will not update any existing content of the `
` if there is nothing to show. This allows sites to benchmark PureClarity or just show content from PureClarity for a particular Campaign.
## Search Zones
There are 2 types of search specific zones, zones on the search results page and zones that can appear in an autocomplete drop down box.
For zones on the search results page PureClarity uses a query string value in the URL to determine what the user searched for. For example, given the URL:
`www.yoursite.com/search?term=jar`
The ‘jar’ was searched, and PureClarity gets this value by looking at the query parameter ‘term’. This query parameter can be set in the PureClarity Admin console under Configuration > Settings.
As autocomplete search implementations from site to site can vary significantly the autocomplete zone setup is a little more involved. For a full explanation of how to implement the autocomplete recommender please see the section on Personalized Recommendations in Autocomplete below.
## Dynamic Zone Loading
When a page loads PureClarity will return the zones for that page, and inject content. Sometimes however you may need to dynamically load zone content later on, after a page has already loaded. An example would be loading the content of a specific zone that is in a category menu structure as a user hovers over it. As different categories are shown your site could dynamically load context aware zones for the specific category being viewed. In this way you can show personalized content for each user for each category they look at in the menu.
The PureClarity `getzone` function can be used to request one or more zones at anytime. Note that this will only return a result object and so your site will be responsible for adding the HTML to the page.
Below is JavaScript example code that will call PureClarity, with a context data object, and execute a callback function for you to process the result as you wish:
```javascript theme={null}
_pc('getzone', { zone: 'PP-01', product_id: 'P12345' }, function(err, result) {
// err is null if all ok
// result is a hashmap of IDs with Html (eg. var html = result['HP-01'])
});
```
The `getzone` function supports an additional context property called requesttype. This can be set to 'model', 'html' or 'both' to retrieve data model as well as html in the result.
## Personalised Recommendations In Autocomplete
If you want to provide personalization in an autocomplete drop down (instant search) on your site then this section will detail the steps required. Because there are lots of different autocomplete solutions on the market the exact way you integrate PureClarity will differ from one site to the next.
The basic approach is to use Dynamic Zone Loading as a user types their search term into the search box. This will require adding some custom JavaScript to your site. We suggest the following approach:
* In PureClarity setup an autocomplete recommender (AC-01).
* Set it to be an ‘AI Recommender’.
* When you setup a zone (such as AC-01) in the PureClarity Admin you can choose the minimum and maximum number of results you want to show. Set these based on the design of your autocomplete.
* You can create a custom template for the autocomplete if the results should be rendered differently to other recommenders on your site by using the Template management area in the Admin console.
* On your site, hook into the appropriate search hooks, such as when a user is typing into the search box. When a search has been made make the following request to PureClarity using the Dynamic Zone Loading method passing in the search term:
```javascript theme={null}
_pc('getzone', { zone: 'AC-01', autocompleteterm: 'jar' }, function(err,zones){
// result is a hashmap of IDs with Html (eg. var html = result['AC-01'])
});
```
* In the callback event update the appropriate element on your page with the HTML content from PureClarity. This is likely to be a drop down box under the search input.
PureClarity allows you to make up to 8 zone requests per page load. Each additional set of 8 zone requests after this are counted as an additional page view, which is taken from your monthly page view charge. We suggest you use a timeout (i.e. the setTimeout() function), for approximately 200ms after the user has keypressed before requesting the zone from PureClarity to limit the amount of calls made. If the user enters another character before then, you can reset the timer (i.e. using the clearTimeout() function). This way a request is only sent to PureClarity after the user has stopped typing thus reducing the amount of requests made. This approach is in line and made easier with off the shelf autocomplete libraries such as JQuery Autocomplete widget.
As the request to PureClarity will be made in parallel to the search engine/provider – the results will be displayed independently to the request to PureClarity. This will ensure the speed of loading your search results will not be impacted.
Search results may appear before the results from PureClarity have been shown. You may want to use a UI element to indicate that content is loading (a spinner for example), and place the results from PureClarity in a fixed size element so when the elements are loaded the results from the search are not moved.
# 3. B2B Account Pricing
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/b2b-account-pricing
# B2B Account Pricing
Account Price Record is used for variable pricing for account customers. This is more common for B2B sites or those sites that use account specific pricing. This is an optional section in the PureClarity product feed format. The account price record can be included in the product feed along with the products array, or alternatively it may be sent as a Product Delta.
```json theme={null}
{
"Products": [ {}, . . . ., {} ],
"AccountPrices": [ {}, . . . ., {} ],
}
```
Where each Price record is in the format:
```json theme={null}
{
"AccountId": ,
"Id": ,
"Prices": [],
"SalePrices": []
}
```
If using account pricing, you must ensure that in the [customer\_details](/integrations/custom/api-reference/event-tracking/customer_details) and [order](/integrations/custom/api-reference/event-tracking/order) trackings event that the `accid` of the account is sent.
PureClarity will then display the appropriate account price.
If you have a significant number of accounts, or a significant number of prices per account, it may be unfeasible to send all the data to PureClarity. If this is the case you will need to use our [server-side API](/integrations/custom/api-reference/server-side/server-side), and handle the pricing yourself.
# Brand Feed Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/brand
Model about a brand. Sent in data feeds. Set empty array fields to empty array brackets (e.g. [ ]) not empty strings. The Image field is optional. This field is required so that PureClarity can display the brand logo (or other relevant image) in brand recommenders. Note that certain recommenders may display a blank image if this is not included. These recommenders can be modified via the template editor or disabled in the admin.
Model about a brand. Sent in data feeds.
Set empty array fields to empty array brackets (e.g. \[ ]) not empty strings.
The Image field is optional. This field is required so that PureClarity can display the brand logo (or other relevant image) in brand recommenders. Note that certain recommenders may display a blank image if this is not included. These recommenders can be modified via the template editor or disabled in the admin.
## Properties
This is a unique Id which is used to identify a brand. Each brand Id should be unique.
This is the name that will be Displayed on the brand recommenders
An absolute URL pointing to the location of the image. This image is used when displaying brand recommenders. If possible, specify the URL without a protocol e.g. // instead of http\:// or https\://
To allow brand recommenders to display brands that can be linked off to a brand page you should provide this field. This can be a relative or absolute URL pointing to a brand listing page. If using an absolute URL, specify the URL without a protocol e.g. // instead of http\:// or https\://
A short, non-formatted description of the brand. This field should not contain any HTML
# Category Feed Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/category
Model about a category. Sent in data feeds. Set empty array fields to empty array brackets (e.g. [ ]) not empty strings.
Model about a category. Sent in data feeds.
Set empty array fields to empty array brackets (e.g. \[ ]) not empty strings.
## Properties
This should be the unique category Id. Id’s are required to be unique across all records.
This is the name that will be displayed for each category in recommenders.
An absolute URL pointing to the location of the image. This image is used when displaying category recommenders. If possible, specify the URL without a protocol e.g. // instead of http\:// or https\://
This can be a relative or absolute URL pointing to category listing page. If using an absolute URL, specify the URL without a protocol e.g. // instead of http\:// or https\://
The Id’s of the parent categories for this category. This means that a category can exist in more than one parent category, for example a category of "Shirts" could be in both of the categories "Mens" and "Sale"
A short, non-formatted description of the category. This field should not contain any HTML
# 4. Deltas
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/deltas
# Deltas
In addition to the full feeds PureClarity accepts changes to individual records. Individual records can be added, deleted and existing ones updated. The delta API endpoint allow you to send these updates. Data is sent in the same structure as the full feed references.
The following records can be sent as deltas:
* [Products](/integrations/custom/api-reference/data-feeds/product)
* [Categories](/integrations/custom/api-reference/data-feeds/category) against products
* [Account Prices](/integrations/custom/api-reference/data-feeds/b2b-account-pricing)
* [Users](/integrations/custom/api-reference/data-feeds/user)
Note that when a delta is pushed to PureClarity they are queued for processing. Each API call will return a token that can then be used to query the status of the delta via the delta status endpoint.
## Submit delta endpoint
The maximum size of a single delta is 250 Kb. A delta API call can contain multiple updates so long as the total size of the delta is under 250 Kb. The HTTPS POST will reject the delta with an error code if the delta is too large.
For product updates the delta will overwrite the product so they must contain the full product information rather than a partial update.
The endpoint for the HTTPS POST deltas is:
`https:///api/delta`
| Region | Endpoint |
| ------ | --------------------------- |
| EU | sftp-eu-w-1.pureclarity.net |
| US | sftp-us-e-1.pureclarity.net |
The body of the HTTPS POST should be a JSON object and look like the following:
```json theme={null}
{
"AppKey": ,
"SecretKey": ,
"Products": [ {} ],
"DeleteProducts": [,],
"SetCategoryOnProducts": [ { } ],
"RemoveCategoryFromProducts": [ { } ],
"AccountPrices": [ {} ],
"DeleteAccountPrices": [ {} ],
"Users": [ {} ]
}
```
See the relevant references in this guide for the data structures for [Products](/integrations/custom/api-reference/data-feeds/product), [Categories](/integrations/custom/api-reference/data-feeds/category), [Users](/integrations/custom/api-reference/data-feeds/user) and [Account Prices](/integrations/custom/api-reference/data-feeds/b2b-account-pricing). `DeleteProducts` is an array of product identifiers (e.g. Id). Examples of category deltas and DeleteAccountPrice deltas are detailed below\..
The request will return a status of 200 if successfully added to the queue of deltas to process, and will return the following JSON object:
```json theme={null}
{
"Token": "deltatoken123"
}
```
## Query deltas status endpoint
To query the status of deltas send a HTTPS POST to the following endpoint:
`https:///api/deltastatus`
The body of the request should contain an array of tokens for which the status is required:
```json theme={null}
{
"AppKey": "appkey123",
"SecretKey": "secretkey123",
"Tokens": [ "deltatoken123", "delta567" ],
}
```
This will return a JSON object containing an array, where each entry contains the status of a token requested:
```json theme={null}
[
{
"Token": "deltatoken123",
"Status": 2,
"Reason": "Missing price" //Present if Status is 2 (Error)
}, ...
]
```
The following table lists the possible status codes:
| Status | Description |
| ------ | ----------------------------------------------------------------- |
| 0 | Pending. The delta has not been processed yet. |
| 1 | Success. The delta was applied successfully. |
| 2 | Error. The delta failed. The property “Reason” will indicate why. |
## Examples
Category deltas
```json theme={null}
{
"AppKey": "appkey",
"SecretKey": "secretkey",
"SetCategoryOnProducts": [
{
"Category": "catid1",
"Products": [
{ "Id": "prod1" }
]
}
],
"RemoveCategoryFromProducts": [
{
"Category": "catid2",
"Products": [
{ "Id": "prod1" },
]
}
]
}
```
Delete account price deltas
```json theme={null}
{
"AppKey": "appkey",
"SecretKey": "secretkey",
"DeleteAccountPrices": [{"AccountId": "account1", "Id": "prod1"}]
}
```
# 5. Offline Orders
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/offline-orders
# Historic order feed / offline orders
To help kick start PureClarity’s AI learning it is recommended that you upload up to 6 months of historic order data prior to go-live.
To do this you can send a CSV file to PureClarity. The simplest way is to upload the feed via the PureClarity Admin. Go to Settings -> Data Feeds, and click "Upload Feed File".
Note that PureClarity will ignore any orders older than 1 year.
If your site handles orders in another channel to the website (such as via telephone), then these orders can be sent on a daily basis to PureClarity so that the customers experience on the website is correct.
These daily order files can be uploaded via the Admin area, or via the SFTP server.
Each unique order Id can only be sent once. Orders reusing an Id will be dropped.
## CSV Format for order files
The header *order* of each column is not important – but the field *names* are.
| Field | Description |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| OrderID | Used to map order lines together |
| AccountId | Unique Identifier for an Account (See below) |
| UserId | Unique Id of the user (See below) |
| Email | Email address of the user (See below) |
| DateTime | Date/Time the order was made. This needs to be an ISO 8601 formatted date (see below) |
| ProdCode | Product Id. This must match the Id of a product in the data feed. |
| Quantity | Number of items of ProdCode in the order |
| UnitPrice | Price of a single ProdCode. Used to provide a basic order total in the admin for historical orders. NOTE: Values should have no currency symbol or comma separators. This value can either be ex-VAT or VAT depending on the site. Decimal separator must be a . and NOT and , |
| LinePrice | Price of the orderline (Quantity \* UnitPrice). Used to provide a basic order total in the admin for historical orders. NOTE: Values should have no currency symbol or comma separators. This value can either be ex-VAT or VAT depending on the site. Decimal separator must be a . and NOT a , |
Either "Unit Price" or "Line Price" must be specified but not both.
The date/time stamp the order was made needs to be an ISO 8601 formatted date. If there is no timezone information present, then the time is assumed to be in the timezone of your site. This time zone can be altered by your Success Manager.
Some examples of valid date/time formats:
| Format | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 2016-12-25 | Only the date passed in. Hourly data is not used by PureClarity for offline/historical orders – but they can be included to make importing your data easier. |
| 2016-12-25 09:00:00 | Order is taken as 9am on 25th December in the timezone of the site |
| 2016-12-25T09:00:00 | Order is taken as 9am on 25th December in the timezone of the site. (Optional ‘T’ to separate the time) |
| 2016-12-25T09:00:00Z | Order is taken as 9am UTC on 25th December. |
# 1. Overview
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/overview
# Overview
PureClarity accepts a JSON based data feed format which contains all products in the e-commerce system and includes product information such as the product Id, name, image URL and prices. When a full feed is submitted it is used as the latest full version of all products that are currently live and available to customers. I.e. any products not sent in a new feed will no longer be used by PureClarity.
Feeds can also contain category, brand, user and account pricing information.
The maximum size of a product feed is 250Mb.
As well as the full product feed, you can also send record *[deltas](/integrations/custom/api-reference/data-feeds/deltas)*, which are updates to individual records that PureClarity holds.
Please note that there are limits to the frequency you can send both full feeds and product deltas to PureClarity. Please see the Product Updates section on our pricing page for more information.
The format of a feed is a JSON object, with 1 or more sections populated. Possible sections are:
* [Products](/integrations/custom/api-reference/data-feeds/product) - Product catalog data
* [AccountPrices](/integrations/custom/api-reference/data-feeds/b2b-account-pricing) - B2B account-specific pricing
* [Categories](/integrations/custom/api-reference/data-feeds/category) - Category hierarchy and metadata
* [Brands](/integrations/custom/api-reference/data-feeds/brand) - Brand information
* [Users](/integrations/custom/api-reference/data-feeds/user) - Customer data
As individual feeds can be large for bigger stores - consider sending multiple feeds to PureClarity, 1 for each type of data. When using Categories or Brands, please include a Version field, set to 2.
Some examples can be found below. Please see the documentation for the relevant model.
```json theme={null}
{
"Products": [
{ }, ... ,{ }
]
}
```
```json theme={null}
{
"Version":2,
"Categories": [
{}, ... ,{}
]
}
```
```json theme={null}
{
"Version":2,
"Brands": [
{}, ... ,{}
]
}
```
```json theme={null}
{
"Products": [ {}, ... ,{} ],
"AccountPrices": [ {}, ..., {} ],
}
```
```json theme={null}
{
"Users": [
{ }, ... ,{ }
]
}
```
Below is an example of a [user feed](/integrations/custom/api-reference/data-feeds/user) with custom fields. In this example "News" is a customer field to determine if a person has signed up to the newsletter and "HasChildren" if a person has indicated they have any children.
```json theme={null}
{
"Users": [
{
"UserId": "02345",
"Email": "fred@smith.com",
"FirstName": "Fred",
"LastName": "Smith",
"Salutation": "Mr",
"DOB": "12/1/1988",
"Gender": "M",
"Country": "UK",
"News": "Y",
"HasChildren": "N"
},
{
"UserId": "02346",
"Email": "jane.brown@outlook.com",
"FirstName": "Jane",
"LastName": "Brown",
"Salutation": "Ms",
"DOB": "12/1/1978",
"Gender": "F",
"Country": "UK",
"News": "Y",
"HasChildren": "Y"
}
]
}
```
# Product Feed Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/product
Model about a product. Sent in data feeds and product deltas. Set empty array fields to empty array brackets (e.g. [ ]) not empty strings.
Model about a product. Sent in data feeds and product deltas.
Set empty array fields to empty array brackets (e.g. \[ ]) not empty strings.
## Properties
This is the unique Id of the product. For example, this could be the Sku. The Id must be unique across the product data feed.
Optional Sku of the product if this is different to the product Id.
The name of the item as it will appear on the website.
Array of prices, entry per currency. Each price is a number followed by an ISO4217 currency code such as USD or GBP
Array of sale prices, entry per currency. Each price is a number followed by an ISO4217 currency code such as USD or GBP
An optional, short, non-formatted description of the item. This field should not contain any HTML
An array of category IDs that the product is associated with. If the product exists in multiple categories send them all. These should match the IDs sent in the category feed. Categories should be set to an empty array (e.g. \[ ] ), if not set for a record. Do not set to an empty string.
A relative or absolute URL pointing to the products page. If using an absolute URL, specify the URL without a protocol. E.g. // instead of http\:// or https\://
An absolute URL pointing to the image of the product. It is best to reference an image which has the suitable dimensions as part of the template design. If possible, specify the URL without a protocol. E.g. // instead of http\:// or https\://
A relative or absolute URL pointing to an overlay image to display in the corner of items, such as an “on offer” badge. It is best to reference an image which has the suitable dimensions to the template design. If possible, specify the URL without a protocol e.g. // instead of http\:// or https;//
Optional brand identifier. This should be the same as the ID included in the brand feed. Used to show brand information in the search auto-complete, and can be used in the templates.
Optional array of text to help PureClarity find products as part of search specific recommenders and for use with segment rule building.
An optional array of associated skus. For example if the product is made up of variant products (i.e. a configurable product) this can be provided which will help in search recommenders or allow for tracking products where a particular variant has been bought, and thus the variant sku has been sent in the tracking event
An optional array of ids of associated products. For example if the product is made up of variant products (i.e. a configurable product) this can be provided which will help in search recommenders or allow for tracking products where a particular variant has been bought, and thus the variant sku has been sent in the tracking event
Set of accounts where this product should be visible. If set, then the product will only be visible for these accounts. If no account information is present then these will be hidden from the user. This attribute is only valid for B2B sites where account information is being sent. It is mutually exclusive to AccountExclusions and a record with both is invalid.
Set of accounts where this product should be hidden. If set then the product will only be hidden for these accounts. If no account information is present or the account is not excluded then these will be visible to the user. This attribute is only valid for B2B sites where account information is being sent. It is mutually exclusive to AccountInclusions and a record with both is invalid.
If present, and set to true then this product will be hidden from all recommenders. This can be useful to hide products that you never want to promote (such as a free catalogue) or to fulfil regulatory requirements. Default value is false.
If present, and set to true then this product will be considered "on offer" and may be shown as such in our automated recommendations. Default value is false.
If present, and set to true then this product will be considered new to the store and may be shown as such in our automated recommendations. Default value is false.
Array of SKUs of products that are related. Used to power the "Complete the look" recommendations in PureClarity. These should be products the site wants to recommend are purchased together.
## Example
```json theme={null}
[
{
"Id": "prodCode23",
"Sku": "PC093673",
"Title": "Awesome Jeans",
"Prices": [
"1.00 GBP",
"3.43 USD",
"4.32 EUR"
],
"SalePrices": [
"0.90 GBP",
"3.21 USD",
"4.10 EUR"
],
"Description": "Made of 100% denim with added stretch for comfort.",
"Categories": [
"Cat1234",
"6712",
"Hats"
],
"Link": "//www.website.com/products/P1",
"Image": "//www.website.com/thumbnail/image1.jpg",
"ImageOverlay": "//www.website.com/thumbnail/on-offer.jpg",
"Brand": "Aspire",
"SearchTags": [
"PartCodeA",
"partCodeB"
],
"AssociatedSkus": [
"sku1",
"sku2"
],
"AssociatedIds": [
"id1",
"id2"
],
"AccountInclusions": [
"acc1",
"acc2"
],
"AccountExclusions": [
"acc1",
"acc2"
],
"ExcludeFromRecommenders": true,
"OnOffer": true,
"NewArrival": true,
"RelatedProducts": [
"PC093672",
"PC093674"
]
}
]
```
# Product Feed API
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/productfeed
API endpoint for submitting product feed URLs to PureClarity
# Product Feed Submission API
You can make a HTTPS POST request to PureClarity passing the URL where PureClarity can download a full JSON feed as part of the request body.
## Endpoint
**EU Region:**
```
POST https://api-eu-w-1.pureclarity.net/api/productfeed
```
**US Region:**
```
POST https://api-us-e-1.pureclarity.net/api/productfeed
```
## Request Body
The request must include the following parameters:
Your store view's unique access key. This can be found in the PureClarity Admin console under My Account > Integrations.
The secret key provided for all store view level calls. This can be found in the PureClarity Admin console. **Never disclose your SecretKey publicly.**
URL where PureClarity can download the feed. Note that the feed is not consumed immediately, so the feed should be available at this location for the next 24 hours.
## Example Request
```json theme={null}
{
"appKey": "your-access-key",
"secretKey": "your-secret-key",
"url": "https://yourdomain.com/feeds/pureclarity-products.json"
}
```
## Response
**Success (200):**
```
The request was submitted successfully
```
## Important Notes
The feed URL must remain accessible for 24 hours after submission, as PureClarity processes feeds asynchronously.
Keep your secretKey secure and never expose it in client-side code or public repositories.
## Related Documentation
* [Product Feed Model](/integrations/custom/api-reference/data-feeds/product) - Structure of product data
* [Submitting Data Feeds](/integrations/custom/api-reference/data-feeds/submitting-data-feeds) - General feed submission guide
* [Data Feeds Overview](/integrations/custom/api-reference/data-feeds/overview) - Complete feed documentation
# 2. Submitting Data Feeds
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/submitting-data-feeds
# Submitting Data Feeds
There are three ways of submitting feeds to PureClarity:
* Via a HTTP POST request to [/api/productfeed](/integrations/custom/api-reference/data-feeds/productfeed) to PureClarity, passing the URL where PureClarity can download it.
* Securely submitting a feed via SFTP.
* Securely streaming feeds as batches to PureClarity via HTTPS
* Once a feed has been submitted you can see the progress of processing under Settings > Feed Management in the PureClarity Admin console.
Below details the 3 ways of submitting a data feed.
## Submitting Via HTTPS
You can make a HTTPS POST request to the PureClarity endpoint [/api/productfeed](/integrations/custom/api-reference/data-feeds/productfeed) passing the URL where PureClarity can download a full JSON feed as part of the body. The productfeed [API reference](/integrations/custom/api-reference/data-feeds/productfeed) details this endpoint.
## Submitting Using SFTP
You can submit feeds securely via SFTP. Endpoints are region specific and are as follows:
| Region | Endpoint | Port |
| ------ | --------------------------- | ---- |
| EU | sftp-eu-w-1.pureclarity.net | 2222 |
| US | sftp-us-e-1.pureclarity.net | 2222 |
To authenticate, the username is your store view Access Key and the password is the Secret Key. These can be found in the Admin console under My Account > Integrations.
Ensure that the Secret Key is never revealed.
Once a feed has been submitted you can see the progress as PureClarity processes the feed under Settings > Feed Management in the PureClarity Admin console.
## Submitting Using HTTP Stream Requests
For systems that cannot submit using an SFTP server PureClarity can receive feeds via multiple HTTP requests. Using this API you can send the feed in multiple API calls to build up a complete JSON object inside of PureClarity. This is done by appending strings to a remote file on the PureClarity server. You first send a create command with an opening JSON bracket, followed by an append command building up the items, finishing with a close command and appending a close JSON bracket. Once the close command is received PureClarity will begin processing the feed.
The three endpoints are as follows:
* `https:///feed-create`
* `https:///feed-append`
* `https:///feed-close`
The `` for the streaming API uses HTTPS and is as follows:
| Region | Endpoint | Port |
| ------ | --------------------------- | ---- |
| EU | sftp-eu-w-1.pureclarity.net | 443 |
| US | sftp-us-e-1.pureclarity.net | 443 |
> Each request must be a HTTPS POST request.
Each of the three calls should contain a JSON body with the following 4 properties:
| Property | Description |
| --------- | ---------------------------------------------------------------------------------- |
| accessKey | The store view Access Key. |
| secretKey | The store view Secret Key. |
| feedName | A unique identifier for the feed. This should be the same for each of the 3 calls. |
| payLoad | The next part of the string that builds up the feed file. |
payLoad is a string, **NOT** a JSON object
### Start of feed: /feed-create
This indicates to PureClarity that a new feed is being sent. You should include the start of the feed in the payLoad if required. Typically you would send over the opening brace of the JSON feed in the payLoad along with the start of property array that will hold the items. For example:
`"{"`
This is a string that is being sent, and not a JSON object.
If you send another request to feed-create before you have completed a feed with an existing feedName it will be reset to the contents of the new payLoad and previous appends will be overwritten.
### Data in the feed: /feed-append
Use consecutive calls to the append endpoint to send parts of the feed, such as the header for the item array, followed by multiple calls containing the items, followed by another call to end the array.
For example, the header for a products feed may look like:
`"Products": ["`
Then the addition of products:
`{"Id":"prod123","Title":"A sample product","Prices":["3.99 GBP","4.99 USD"]},`
Take care to ensure commas are not appended to the last item. Remember these strings are appending to a file on the server to generate valid JSON.
Finally you need to close this section of the feed:
`"]"`
You can repeat the above to include other sections for the feed if required (i.e. categories and brands) although these can also be sent as separate feeds.
The details of what data to send for the various feeds is discussed in the feed documentation [overview](/integrations/custom/api-reference/data-feeds/overview).
### End of feed: /feed-close
Use this call once you are ready to submit the feed to PureClarity for processing. You can include the final part of the feed in the request if required. Once PureClarity has received this it will process the file.
Typically you would send over the closing brace of the JSON feed in the payLoad:
`"}"`
# User Feed Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/data-feeds/user
The User Data Feed can hold detailed information about a user that PureClarity can use to define customer segments. There are a few standard fields such as UserId and FirstName but you can provide any number of Custom Fields as part of the feed, e.g. Marketing Preferences or any personal information known. You are able to create customer segments for each custom field sent in the user feed.
PureClarity will either update the information for an existing user or will add a new user if PureClarity has no information for that user.Please note that there are certain types of information that are you are not allowed to send to us under our Terms and Conditions. These are classes of data that under GDPR would be classed as Special Category Data.
Restricted data includes: * Race
* Ethnic origin
* Politics
* Religion
* Trade union membership
* Genetics
* Biometrics (where used for ID purposes)
* Health
* Sex life or Sexual orientation
* Offences
Custom fields can also be sent. These can be of type String, Number, Boolean or Array of strings. For example “VIPCustomer”: true.
The User Data Feed can hold detailed information about a user that PureClarity can use to define customer segments. There are a few standard fields such as UserId and FirstName but you can provide any number of Custom Fields as part of the feed, e.g. Marketing Preferences or any personal information known. You are able to create customer segments for each custom field sent in the user feed.
PureClarity will either update the information for an existing user or will add a new user if PureClarity has no information for that user.Please note that there are certain types of information that are you are not allowed to send to us under our Terms and Conditions. These are classes of data that under GDPR would be classed as Special Category Data.
Restricted data includes:
* Race
* Ethnic origin
* Politics
* Religion
* Trade union membership
* Genetics
* Biometrics (where used for ID purposes)
* Health
* Sex life or Sexual orientation
* Offences
Custom fields can also be sent. These can be of type String, Number, Boolean or Array of strings. For example “VIPCustomer”: true.
## Properties
Unique User Id. This should be the same identifier sent to PureClarity in the tracking events (customer\_details and order\_track).
Optional user group. Used to support price banding (prices per user group)
Customer’s email address
Customer’s first name
Customer’s last name
Mr, Mrs, Miss, Ms, Dr, etc.
Date of Birth. NOTE: PureClarity derives ‘Age’ from DOB for Behavioral Profiling. Format is DD/MM/YYYY
Male or Female
Location of City or Town
Users location state
Users country
# currency event
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/currency
The currency tracking event tells PureClarity what currency is the users preference, and thus controls what currency is returned in product recommenders. The currency code must be a valid ISO 4217 currency code. Prices in the currency must already be stored against the products as part of the data feed before sending the event.
# Currency Event
The currency tracking event tells PureClarity what currency is the user's preference, and thus controls what currency is returned in product recommenders. The currency code must be a valid ISO 4217 currency code, (e.g. "USD", "GBP" etc.). Prices in the currency must already be stored against the products as part of the data feed before sending the event.
This applies to client-side mode only. See [server-side documentation](/integrations/custom/api-reference/server-side/server-side) on information on how to set the currency as part of the main request model.
PureClarity will not do exchange rate price conversion. The price for each currency supported by the site needs to be sent in the feed. See [Data Feeds](/integrations/custom/api-reference/data-feeds/overview) for more details.
If this is not sent, the default currency set against your store view will be used. Also if currency is set, only products with that currency, sent in the product feed, will be shown.
If using server-side mode you will want to send this at the start of each new session if not displaying the default currency.
## Value Format
The currency event takes a single **string** value containing a valid ISO 4217 currency code.
**Type:** `string`
**Example values:**
* `"USD"` - US Dollar
* `"GBP"` - British Pound
* `"EUR"` - Euro
* `"CAD"` - Canadian Dollar
* `"AUD"` - Australian Dollar
## Usage
### Client-side Implementation
```javascript theme={null}
// Set currency to US Dollars
_pc("currency", "USD");
// Set currency to British Pounds
_pc("currency", "GBP");
// Set currency to Euros
_pc("currency", "EUR");
```
### When to Send
Send the currency event:
* When a user changes their currency preference on your site
* At the start of a new session if the user has a saved currency preference
* Before displaying any product recommenders with non-default currency
## Important Notes
All prices for the specified currency must exist in your product feed. Products without prices for the selected currency will not be displayed in recommenders.
**Valid ISO 4217 Currency Codes:**
[View complete list of ISO 4217 currency codes](https://en.wikipedia.org/wiki/ISO_4217)
# customer_details
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/customer_details
The customer_details tracking event is used when a customer logs in on the site or the site is aware of who the customer is, such as when a user registers on the site.
The customer\_details tracking event is used when a customer logs in on the site or the site is aware of who the customer is, such as when a user registers on the site.
At least one of email, userid or accid must be sent:
* If accid is sent, then userid will be ignored – as all subsequent events will be tracked against the account.
* If userid is sent, then this will be taken as an identifier for the user across the site. Use this same identifier when the user logs in; makes an order; or in any offline orders that are submitted.
* If neither accid or userid is sent, then email will be used as the unique identifier for the user. This should be used whenever the user logs in; makes an order; or in any offline orders that are submitted.
* If accid or userid is set – and email is set as well – then the email address will just be stored against the user. It will be used if any Triggered Emails are sent.
* Best practice is to send the userid (or accid if using accounts). This is because it will remain unique to that user – email addresses may well be changed over time.
* The Id should match the Id sent in the user feed.
If you are passing groupid, then this must match one of the groups sent in the GroupPricing field in the Product Feed.
## Properties
A unique ID for the user
The users email address
If the user is part of business account this value can be used to ensure customer specific account pricing, and personalization at the account level rather than the user level.
Optional user group. Used to support price banding (prices per user group)
First name of the user
Last name of the user
The prefix of the user
**Example:** `Mr`
## Example
```json theme={null}
{
"userid": "USR123",
"email": "fred@smith.com",
"firstname": "Fred",
"lastname": "Smith",
"title": "Mr"
}
```
### With Account and Group
```json theme={null}
{
"accid": "ACCID123",
"groupid": "group10",
"email": "fred@smith.com",
"firstname": "Fred",
"lastname": "Smith",
"title": "Mr"
}
```
# customer_logout event
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/customer_logout
The customer_logout tracking event tells PureClarity that the current user has logged out.
The customer\_logout tracking event tells PureClarity that the current user has logged out.
This applies to client-side mode only. See server-side documentation on information on how to log a user out by clearing the `pc_v_` cookie.
## Properties
This event takes no parameters.
## Example
```javascript theme={null}
// Client-side usage
_pc("customer_logout");
```
# order event
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/order
The order tracking event is used to track order activity so that PureClarity can determine customers purchasing habits and trends to personalize recommendations. This should ideally be placed on the final step of the checkout process once the order has been successfully submitted.
The order tracking event is used to track order activity so that PureClarity can determine customers purchasing habits and trends to personalize recommendations. This should ideally be placed on the final step of the checkout process once the order has been successfully submitted.
Each unique order Id can only be sent once. Orders reusing an orderid will be dropped.
At least one of email, userid or accid must be sent:
* If accid is sent, then userid will be ignored – as all subsequent events will be tracked against the account.
* If userid is sent, then this will be taken as an identifier for the user across the site. Use this same identifier when the user logs in; makes an order; or in any offline orders that are submitted.
* If neither accid or userid is sent, then email will be used as the unique identifier for the user. This should be used whenever the user logs in; makes an order; or in any offline orders that are submitted.
* If accid or userid is set – and email is set as well – then the email address will just be stored against the user. It will be used if any Triggered Emails are sent.
* Best practice is to send the userid (or accid if using accounts). This is because it will remain unique to that user – email addresses may well be changed over time.
* The Id should match the Id sent in the user feed.
If you are passing groupid, then this must match one of the groups sent in the GroupPricing field in the Product Feed.
## Properties
Unique order number of this order
Total order value in base currency.NOTE: Values should have no currency symbol or comma separators. This value can either be ex-VAT or VAT depending on the site. Decimal separator must be a . and NOT a ,
The customer title or salutation. For example Mr, Mrs, Miss, Ms, Dr
First name of the customer
Last name of the customer
The zipcode of the delivery address
The postcode of the delivery address
Date of Birth of the Customer (Format YYYY-MM-DD)
The customers unique user id
The customers email address
The business account id of the customer
Optional user group. Used to support price banding (prices per user group)
Array of items in the order
## Example
```json theme={null}
[
{
"orderid": "O123",
"ordertotal": 22.9,
"title": "Mr",
"firstname": "Fred",
"lastname": "Smith",
"zipcode": "90210",
"postcode": "YO10 6RB",
"dob": "1978-07-31",
"userid": "USR123",
"email": "fred@smith.com",
"accid": "ACCID123",
"groupid": "group10",
"items": [
{
"id": "P1234",
"qty": 2,
"unitprice": 11.4
},
{
"id": "P1235",
"qty": 1,
"unitprice": 0.1
}
]
}
]
```
# Overview
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/overview
# Overview
The Models detail all the tracking events that can be sent to PureClarity and are relevant to both client-side and server-side modes.
Each tracking event is listed along with a description of the event and the context data that can be passed with it.
* For client-side implementations use the global `_pc(tracking_name, tracking_context_data)` function.
For example:
```javascript theme={null}
_pc("product_view",{"id":"prod1"})
```
* For server-side implementations pass the data as outlined in the server-side implementation section.
The list of tracking events PureClarity supports is:
* [page\_view](/integrations/custom/api-reference/event-tracking/page_view) - Track page views and context
* [product\_view](/integrations/custom/api-reference/event-tracking/product_view) - Track product views
* [product\_rate](/integrations/custom/api-reference/event-tracking/product_rate) - Track product ratings
* [set\_basket](/integrations/custom/api-reference/event-tracking/set_basket) - Track basket contents
* [order](/integrations/custom/api-reference/event-tracking/order) - Track completed orders
* [customer\_details](/integrations/custom/api-reference/event-tracking/customer_details) - Track customer information
* [customer\_logout](/integrations/custom/api-reference/event-tracking/customer_logout) - Track customer logout (client-side only)
* [currency](/integrations/custom/api-reference/event-tracking/currency) - Set user currency preference (client-side only)
# page_view event
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/page_view
The page_view tracking event is used to record a page view with PureClarity and to tell PureClarity what page the user is viewing, along with context data.
The page\_view tracking event is used to record a page view with PureClarity and to tell PureClarity what page the user is viewing, along with context data.
Context data is important for PureClarity to be able to determine the correct zone and thus the best recommendations to show.
## Properties
Specifies the page type so PureClarity knows which zones to load
**Possible values:** `homepage`, `search_results`, `category_listing_page`, `product_listing_page`, `product_page`, `added_to_basket`, `basket_page`, `order_complete_page`, `my_recommendations`, `my_account`, `content_page`, `landing_page`
**Example:** `homepage`
Specifies the product context of the current page. Used to load recommenders relevant to a product page. The Id should match the Id used in the product feed
**Example:** `P41923`
Specifies the category context of the current page. Should be set on product listing pages. The Id should match the Id sent in the category feed
**Example:** `3841`
Specifies the brand context of the current page. Used to set the context of a brand page. This Id should match the Id sent in the brand feed
**Example:** `23`
## Examples
### Homepage
```json theme={null}
{
"page_type": "homepage"
}
```
### Product Page
```json theme={null}
{
"page_type": "product_page",
"product_id": "P41923"
}
```
### Category Listing Page
```json theme={null}
{
"page_type": "category_listing_page",
"category_id": "3841"
}
```
### Brand Page
```json theme={null}
{
"page_type": "content_page",
"brand_id": "23"
}
```
# product_rate event
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/product_rate
The product_rate tracking event tells PureClarity that a user has rated a product with a given rating and is thus used as part of the top rated product recommender
The product\_rate tracking event tells PureClarity that a user has rated a product with a given rating and is thus used as part of the top rated product recommender
## Properties
Specifies the product that has been rated
**Example:** `P41923`
The rating that the user has given
**Example:** `4.5`
## Example
```json theme={null}
{
"id": "P41923",
"rating": 4.5
}
```
# product_view event
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/product_view
The product_view tracking event tells PureClarity that the user has viewed a product with the given id. Optionally it can also include product information.
The product\_view tracking event tells PureClarity that the user has viewed a product with the given id. Optionally it can also include product information.
## Properties
Specifies the product that has been viewed
**Example:** `P41923`
Optional product information. See the product feed for details of the properties to send
## Example
```json theme={null}
{
"id": "P41923"
}
```
### With Optional Product Information
```json theme={null}
{
"id": "P41923",
"product": {
"title": "Example Product",
"price": 29.99,
"image": "https://example.com/images/product.jpg"
}
}
```
# set_basket event
Source: https://docs.pureclarity.com/integrations/custom/api-reference/event-tracking/set_basket
The set_basket tracking event sets the contents of the users basket in its entirety. This event is useful for PureClarity to associate strong buying signals for a given product for the user. Note, the context is an array of basket products.
The set\_basket tracking event sets the contents of the users basket in its entirety. This event is useful for PureClarity to associate strong buying signals for a given product for the user. Note, the context is an array of basket products.
Send an empty array to clear the basket.
## Basket Item Properties
Each item in the basket array must contain:
The product Id of the item in the basket
**Example:** `P41923`
The amount of this product that is in the basket
**Example:** `5`
The price of a single unit
**Example:** `29.95`
## Example
```json theme={null}
[
{
"id": "P41923",
"qty": 5,
"unitprice": 29.95
},
{
"id": "P41924",
"qty": 2,
"unitprice": 15.50
}
]
```
### Clear Basket
```json theme={null}
[]
```
# Forget User API
Source: https://docs.pureclarity.com/integrations/custom/api-reference/gdpr/forget
API endpoint for anonymizing user data in compliance with GDPR
# Forget User API
Once submitted, PureClarity will schedule a task to remove all potentially identifiable data about the user including any email address associated with the user. For security reasons all forgotten email addresses are stored securely as a hashed value which means that the system can tell if the email address has already been forgotten without identifying the original email address. Once a user has been forgotten there is no way to store data again for this user. PureClarity will also never send them any emails.
## API Base URL
**EU Region:** `https://api-eu-w-1.pureclarity.net/api/user/forget`
**US Region:** `https://api-us-e-1.pureclarity.net/api/user/forget`
## Endpoint
### POST /api/user/forget
Anonymize all user data for GDPR compliance
## Request Schema
Your store views unique access key. This can be found in the PureClarity Admin console
The secret key provided for all store view level calls. This can be found in the PureClarity Admin console. Remember never to disclose your SecretKey
The unique identifier used to identify the user/account on your site. This should be the same identifier your site sends in customer\_detail and order\_track events as well as in the user feeds
## Example Request
```json theme={null}
{
"AccessKey": "your-access-key",
"SecretKey": "your-secret-key",
"Identifier": "user@example.com"
}
```
## Example Response
**Success (200):**
```
The request was submitted successfully
```
## Important Notes
Once a user has been forgotten, there is no way to store data again for this user. PureClarity will never send them any emails.
The Identifier should match the same value used in:
* `customer_details` tracking events
* `order` tracking events
* User data feeds
## Related Documentation
* [GDPR Overview](/docs/compliance/gdpr/overview) - Complete GDPR compliance guide
* [Forget User](/integrations/custom/api-reference/gdpr/forget-user) - Additional GDPR documentation
# 1. Forget User
Source: https://docs.pureclarity.com/integrations/custom/api-reference/gdpr/forget-user
# Forget User
PureClarity provides 2 methods to allow you to fulfill your GDPR responsibilities for forgetting a user. You can search for a user in the PureClarity Admin, under Data Explorers -> Users. There is a button to then start the process of removing all identifiable data about that user from PureClarity.
The other method is to use our API. The details of this endpoint can be found [here](/integrations/custom/api-reference/gdpr/forget).
Once submitted PureClarity will schedule a task to remove all potentially identifiable data about the user including any email address associated with the user. For security reasons all forgotten email addresses are stored securely as a hashed value which means that the system can tell if the email address has already been forgotten without identifying the original email address. Once a user has been forgotten there is no way to store data again for this user. PureClarity will also never send them any emails
# 5. Developer Debug Mode
Source: https://docs.pureclarity.com/integrations/custom/api-reference/getting-started/developer-debug-mode
# Developer Debug Mode
Once you have PureClarity integrated and the master function is on all your pages you can use the developer debug bar to help ensure zones are being detected, view any data associated with them and ensure tracking events are working correctly and being passed to PureClarity.
To activate the debug bar, ensure you are logged into the PureClarity Admin console, and then on your website add the following query string parameter to the end of the URL:
`pc_debug=true`
Example: `www.yoursite.com/shop?pc_debug=true`
The PureClarity Debug Bar will appear showing a number of selectable tabs at the top.
The first tab shows the status of the PureClarity integration, and will only show if you’re logged into the admin at the same time and PureClarity is active, and have the correct store view selected in the admin. The Template Preview mode tells you whether any templates on the site are in Preview mode (explained in further detail below).

The Events tab shows all the events sent from the site to PureClarity on the current page, and the responses from PureClarity. This is useful to see, for example, if on a product page the product view tracking event is being sent with the correct Id.

The Zones tab gives you an overview of all the zones that are active on the page. It shows what context information is being sent to PureClarity (such as the product Id associated with a zone) and also shows whether PureClarity understood the request.

Finally the Previews tab shows you which, if any, templates are being previewed, what type of template it is, and what version it is. This developer debug, when active, enables templates marked as “in preview” to be used rather than the current live template to assist with styling. Only you will see templates in preview and not your customers.

Further information on editing and previewing templates see the Templating section.
If you are using server-side integration, zones may be rendered on the server and thus may not be detectable by the developer debug system. More information about this is outlined in the server-side implementation section in this guide.
# 2. Implementation methods - client vs server
Source: https://docs.pureclarity.com/integrations/custom/api-reference/getting-started/implementation-methods---client-vs-server
# Implementation Methods – Client vs Server
A key decision to make before you begin the implementation is whether you are going to use the client-side or server-side integration approach. If you are using a plugin developed by PureClarity for your e-commerce platform then this is not relevant to you. Refer to the documentation for your plugin.
Regardless of the approach taken you will need to generate and send the data feeds to PureClarity. These tell PureClarity about the products on your site, as well as historic orders and your customers.
Once PureClarity has information about your ecommerce store you will need to decide how your store will communicate with PureClarity. “Client-side” is the approach to take in almost all circumstances. In this mode you will “mark up” areas on your site where you want PureClarity to show content. You will need the PCJS Master Function on your site. This Javascript will be responsible for examining the page and injecting the relevant content into any zones that are on the page. It will also handle sending tracking events to PureClarity to record the activity of the users.
For some implementations the approach of letting PureClarity render all HTML is not viable, or doesn’t give enough control over what is displayed to users. For example if the pricing of products is custom per user and has very complex logic, or if some products cannot always be shown to some users, then you may want PureClarity, for example, to return recommender data to your server, where you are more in control of the product display. For complex situations like this you can use our “server-side” approach.
At this point it is worth pointing out that because of our callback feature – there are very few situations where server-side is the correct approach. We advise you to contact our support team before embarking on a server-side implementation if you have any questions.
In a “server-side” implementation your ecommerce system will make calls directly to PureClarity – often before a page is loaded. You will be responsible for building HTML from the results PureClarity returns. Server-side allows you to potentially integrate PureClarity into your existing pipelines – for example feeding the JSON results into your own templating system.
The drawbacks of server-side:
* More code intensive – may take longer to implement
* Increased latency on initial page load
* You can’t use the PureClarity templating system for data returned server-side
* You have to handle setting client cookies, and other variables, so PureClarity can identify the customer and ensure a customer falls into the correct segment.
A quick summary:
**Client-side**: With the client-side approach HTML is generated by PureClarity for zones. You can change the HTML and the CSS style using Template Management in the admin console. This is the quickest route to implementing the software and the recommended method. You will be able to use our floating zones, popups and chat features using this approach.
Follow the client-side guide [here](/integrations/custom/api-reference/client-side/overview).
**Server-side**: The server-side approach provides an API that produces a stream of products, brands and categories for zones. This approach is more code intense but gives you flexibility if you have bespoke requirements not supported by the client-side method. Use this method if you have custom pricing or product visibility rules – for example on a complex B2B site.
Follow the server-side guide [here](/integrations/custom/api-reference/server-side/server-side)
# 3. Language and Localisation
Source: https://docs.pureclarity.com/integrations/custom/api-reference/getting-started/language-and-localisation
# Language and Localisation
PureClarity can support multiple languages. To support multiple languages you need a separate store view for each language. For example, a zone on the Spanish site can differ from that on the English site.
Also, PureClarity can support multiple currencies within a single instance. See Currency Tracking for more details.
Please speak to your Success Manager to setup your instance with the language required.
# 1. Overview
Source: https://docs.pureclarity.com/integrations/custom/api-reference/getting-started/overview
# Overview
This guide takes you through the 5 steps to implement PureClarity on your site using the bespoke implementation approach.
Before you begin, PureClarity provides a number of Plug-ins that will automatically undertake a number of these steps. Please check out our integration page to see if we have a plug-in for your ecommerce platform.
### 1. Planning
The first decision before implementing PureClarity is whether you will adopt the client-side or server-side implementation method. The Client-side method is our recommended approach, however server-side may give you more control for complex installations.
For more information see the Implementation Methods below.
To get the best out of PureClarity you need to consider the most optimal placement of the merchandising zones. To help you decide we have provided a best practice guide on where to place these zones. We recommend you review them before adding the PureClarity elements to your site as described below in step 2.
For more information see our guide on the Optimal Placement of Zones.
PureClarity allows you to make up to 8 zone requests per page load. Each additional set of 8 zone requests after this are counted as an additional page view, which is taken from your monthly page view charge.
### 2. Implementation
There are 3 main stages to implementing PureClarity into your ecommerce platform:
* Add the PureClarity JavaScript Snippet (PCJS) master function to each page.
* Add event tracking, to track user activity such as product views and add to basket.
* Add Merchandising Zones, to display PureClarity content, such as product recommenders or banner images.
The PureClarity JavaScript Snippet (PCJS) master function manages PureClarity's interaction with the site, keeps track of sessions and assists with debugging, and depending on your implementation type (Server/Client) the script may be responsible too for sending tracking events to PureClarity. The PCJS master function Javascript snippet needs to be at the top every page on the website, ideally after the closing `` tag. This is detailed in PCJS Master Function section.
Event tracking is needed in order to send user activity to PureClarity, such as product views, basket content, orders placed, currency changes and customer login & logout. Depending on the implementation type the approach varies. For client-side implementations events are added using Javascript and the PCJS master function. For server-side implementations your ecommerce platform will be responsible for sending events as HTTP requests. The approach to adding event tracking to your site is outlined in the relevant implementation sections.
Zones are areas on the site that display PureClarity content to your users. Similar to event tracking, described above, the approach varies depending on your implementation type. For client-side implementations `
` elements on your site are tagged with specific attributes, and the PureClarity Javascript takes care of the rest injecting HTML onto the page. For server-side implementations HTTP requests are made to PureClarity to retrieve data and then you will need to render HTML around the data models returned. The approaches are outlined in the relevant implementation sections.
### 3. Data Feeds
Feeds are required to tell PureClarity about your data. You will need to build and test them. Feeds include a mandatory product feed & non-mandatory category, brand, user and order history data feeds.
Submission and feed management can be found in the PureClarity Admin console under ‘Settings > Feed Management’ or via our API.
For more information see: Data Feeds
### 4. Templates
Following on from Step 2 if you opt for client-side implementation you can edit the look and feel of the HTML that is returned from PureClarity. This HTML and CSS is generated by PureClarity using the Template Management system, and can be managed and edited in the admin console under ‘Settings’. See the Templating section for further information about how to style the look and feel of the various PureClarity content types.
For server-side implementations, the styling and HTML will be controlled by your platform, from the data model returned from PureClarity. This is explained in further detail in the Server-side implementation section.
### 5. Historical Order Feed
Once you’re ready to start to use PureClarity it is advisable to upload 6 months of past order history to kick-start the AI’s learning and increase the relevancy of recommendations.
For more information on creating this data see the: Historic Order Feed section.
You can also use this method to provide a daily feed of orders that are generated offline (e.g. phone and in store orders). PureClarity’s machine learning will use this data to adapt its recommendation results. This is optional.
Now, you’re ready to go live!
### Need Further Help?
If you have issues while implementing PureClarity, Developer Debug Mode may help you to debug the problem. Alternatively if you have any questions you can contact our support team by emailing [support@pureclarity.com](mailto:support@pureclarity.com)
# 4. PCJS Master Function
Source: https://docs.pureclarity.com/integrations/custom/api-reference/getting-started/pcjs-master-function
# PCJS Master Function
The PureClarity JavaScript Snippets (PCJS) master function assists with tracking events, session management and debugging PureClarity within your website. The PCJS master function JavaScript snippet needs to be added to the top of every page on the website, ideally after the closing `` tag.
Each PureClarity installation has a unique access key. You will need to replace `` within the code snippet. Your API Access Key can be found in the Admin console under My Account > Integrations.
```javascript theme={null}
```
You will have different access keys for each store view.
# Brand Recommender Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/models/brand-recommender-model
Model available for use in the Templates, and also returned by PureClarity in server-side requests
Model available for use in the Templates, and also returned by PureClarity in server-side requests
## Properties
The title of the recommender
Set to "recommender-brand"
Array of brand objects to show in the recommender
### Brand Item Properties
The brands unique Id
The brand name to show in the recommender
The url to the brand image
A url link to take an optional brand page
An optional description text
## Example
```json theme={null}
{
"title": "Top Brands",
"type": "recommender-brand",
"items": [
{
"Id": "23",
"DisplayName": "Acme Corporation",
"Image": "https://example.com/images/brands/acme.jpg",
"Link": "https://example.com/brands/acme",
"Description": "Premium quality products since 1950"
},
{
"Id": "24",
"DisplayName": "TechPro",
"Image": "https://example.com/images/brands/techpro.jpg",
"Link": "https://example.com/brands/techpro",
"Description": "Innovation at its best"
}
]
}
```
# Carousel Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/models/carousel-model
Model available for use in the Templates, and also returned by PureClarity in server-side requests
Model available for use in the Templates, and also returned by PureClarity in server-side requests
## Properties
The height of the carousel
The width of the carousel
Milliseconds before auto scrolling, if active
Sets if autoscroll is on
Expands to width of container
If responsive, set’s if height and width is the max that the carousel should be
If autoscroll is on, this sets if it should stop when mouse over
Set to carousel
\[Serverside mode only] The html rendered version based on the Template
Array containing Carousel Image objects
### Carousel Image Properties
The location of the image file
The link location of where a user should be taken if they click the image
The Alt Text attribute for the image
Sets if text content should be shown
The html content to overlay the image
The left pixels for the content
The top pixels for the content
The index of the image in the array (zero based index)
The JavaScript function to be executed on mouse down over the image element
**Important:** This is required to track when users click through on a product. If this is omitted then reporting will be inaccurate
## Example
```json theme={null}
{
"height": 400,
"width": 800,
"milliseconds": 5000,
"autoscroll": true,
"isResponsive": true,
"isMaxWidth": true,
"stopOnHover": true,
"type": "carousel",
"html": "
",
"left": 50,
"top": 100,
"index": 0,
"clickEvt": "_pc('track','click',{zoneid:'HP01',campaignid:'456'})"
},
{
"url": "https://example.com/images/banner2.jpg",
"linkLocation": "https://example.com/new-arrivals",
"altText": "New Arrivals Banner",
"showContent": false,
"content": "",
"left": 0,
"top": 0,
"index": 1,
"clickEvt": "_pc('track','click',{zoneid:'HP01',campaignid:'457'})"
}
]
}
```
# Category Recommender Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/models/category-recommender-model
Model available for use in the Templates, and also returned by PureClarity in server-side requests
Model available for use in the Templates, and also returned by PureClarity in server-side requests
## Properties
The title of the recommender
Set to "recommender-category"
Array of category objects to show in the recommender
### Category Item Properties
The category's unique Id
The category name to show in the recommender
The url to the category image
A url link to take an optional category page
An optional description text
An array of immediate parent category IDs
An array of immediate child category IDs
An array of ALL child IDs, not just immediate children
## Example
```json theme={null}
{
"title": "Popular Categories",
"type": "recommender-category",
"items": [
{
"Id": "3841",
"DisplayName": "Electronics",
"Image": "https://example.com/images/categories/electronics.jpg",
"Link": "https://example.com/categories/electronics",
"Description": "Latest gadgets and technology",
"Parents": [],
"Children": ["3842", "3843"],
"AllChildIds": ["3842", "3843", "3844", "3845"]
},
{
"Id": "3842",
"DisplayName": "Smartphones",
"Image": "https://example.com/images/categories/smartphones.jpg",
"Link": "https://example.com/categories/smartphones",
"Description": "Latest mobile phones",
"Parents": ["3841"],
"Children": ["3844", "3845"],
"AllChildIds": ["3844", "3845"]
}
]
}
```
# HTML Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/models/html-model
Model available for use in the Templates, and also returned by PureClarity in server-side requests
Model available for use in the Templates, and also returned by PureClarity in server-side requests
## Properties
The raw HTML
set to html
## Example
```json theme={null}
{
"html": "
Special Offer
Get 20% off your next purchase!
",
"type": "html"
}
```
# Image Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/models/image-model
Model available for use in the Templates, and also returned by PureClarity in server-side requests
Model available for use in the Templates, and also returned by PureClarity in server-side requests
## Properties
The location of the image file
The link location of where a user should be taken if they click the image
The Alt Text attribute for the image
set to staticImage
The JavaScript function to be executed on mouse down over the image element. NOTE: This is required to track when users click through on a product. If this is omitted then reporting will be inaccurate.
\[Serverside mode only] The html rendered version based on the Template
## Example
```json theme={null}
{
"url": "https://example.com/images/promo-banner.jpg",
"linkLocation": "https://example.com/promotions/spring-sale",
"altText": "Spring Sale - 30% Off Everything",
"type": "staticImage",
"clickEvt": "_pc('track','click',{zoneid:'HP02',campaignid:'789'})",
"html": "
"
}
```
# 1. Overview
Source: https://docs.pureclarity.com/integrations/custom/api-reference/models/overview
# Overview
The models that are available for use in the PureClarity Templates and in the server-side responses are:
* [Image](/integrations/custom/api-reference/models/image-model) - Static image content
* [Carousel](/integrations/custom/api-reference/models/carousel-model) - Image carousel content
* [HTML](/integrations/custom/api-reference/models/html-model) - Custom HTML content
* [Product Recommender](/integrations/custom/api-reference/models/product-recommender-model) - Product recommendation data
* [Category Recommender](/integrations/custom/api-reference/models/category-recommender-model) - Category recommendation data
* [Brand Recommender](/integrations/custom/api-reference/models/brand-recommender-model) - Brand recommendation data
# Product Recommender Model
Source: https://docs.pureclarity.com/integrations/custom/api-reference/models/product-recommender-model
Model available for use in the Templates, and also returned by PureClarity in server-side requests.
Model available for use in the Templates, and also returned by PureClarity in server-side requests.
Any custom attributes sent in the feed will be available in the Template and returned in the server-side model. Access it using the same name that was provided in the feed.
## Properties
The title of the recommender
set to recommender-product
The products to show in the recommender
Each product object contains:
### Product Item Properties
The unique product Id
The product sku
The product title
The url to the product
The url to the main product image
The url to the overlay product image
Array of urls to the product images
The description of the product
An array of category IDs that the product is associated with
Search tags if provided in the feed
Child/Variant skus of the product, if provided in the feed
Child/Variant ids of the product, if provided in the feed
A brand object that is associated with the product. Only available if a brand Id was sent in the product feed that has associated brand data in the brand feed
The product price for the user/account
The formatted price with currency for the product (e.g. \$19.00)
The previous price for the product
The formatted was price with currency for the product (e.g. \$19.00)
The currency symbol for this products price
The saving on the product, taken as the difference between Price and SalePrice
The formatted saving price with current for the product (e.g. \$19.00)
Percentage saving for the product, between Price and SalePrice. Fixed to 0 dp
True if the product is currently on offer. Set by the OnOffer property in the product feed model
True if the product is new to the store. Set by the NewArrival property in the product feed model
The JavaScript function to be executed on mouse down over the product element
**Important:** This is required to track when users click through on a product. If this is omitted then reporting will be inaccurate
\[Serverside mode only] The html rendered version based on the Template
## Example
```json theme={null}
{
"title": "Recommended for You",
"type": "recommender-product",
"items": [
{
"Id": "P41923",
"Sku": "SKU-123",
"Title": "Example Product",
"Link": "https://example.com/products/example-product",
"Image": "https://example.com/images/product.jpg",
"Description": "A great product description",
"Categories": ["3841", "3842"],
"Price": 29.99,
"DisplayPrice": "$29.99",
"WasPrice": 39.99,
"DisplayWasPrice": "$39.99",
"CurrencySymbol": "$",
"SavingPrice": 10.00,
"SavingDisplayPrice": "$10.00",
"SavingPercent": "25",
"OnOffer": true,
"NewArrival": false,
"clickEvt": "_pc('track','click',{zoneid:'PDP01',campaignid:'123',id:'P41923'})"
}
],
"html": "
...
"
}
```
# 1. Server-side
Source: https://docs.pureclarity.com/integrations/custom/api-reference/server-side/server-side
# Server-side
Unlike the client-side method, requests to PureClarity are made on the server, rather than the client's browser. This requires the PureClarity API to be called directly from your server-side code. Choose the appropriate endpoint based on where your store was created.
## API Base URL
**EU Region:** `https://api-eu-w-1.pureclarity.net/api/serverside`
**US Region:** `https://api-us-e-1.pureclarity.net/api/serverside`
## Endpoint
### POST /api/serverside
Send tracking data and request personalised content
## Request Schema
Your store views unique access key. This can be found in the PureClarity Admin console
**Example:** `testAppId`
The secret key provided for all store view level calls. This can be found in the PureClarity Admin console. Remember never to disclose your SecretKey
**Example:** `testSecretKey`
The page url that the user is currently on.
**Example:** `http://www.yoursite.com/shop/product/abc123`
The users browser User Agent string, in all request headers sent by their browser.
**Example:** `Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)`
The users IP address
**Example:** `208.67.222.222`
The user's unique PureClarity Visitor ID. This is stored as a browser cookie and set by PureClarity. Discussed in the Cookies documentation
**Example:** `testVisitorId`
The user's unique PureClarity Session ID, that represents their current visit. This is set by PureClarity and is stored as a browser cookie. Discussed in the Cookies documentation
**Example:** `testSessionId`
The referer value from the users browser header. This is the page that the user has come from, not this current page
**Example:** `http://www.yoursite.com/shop/`
Set's the currency of the products to be returned. The value should be a valid ISO currency code. If not present the default currency configured in PureClarity will be used. Only products that have been sent to PureClarity with this currency price will be returned
**Example:** `USD`
An array of tracking event objects
Each event object contains:
* **name** (string, required): The identifier of the track event (e.g., `product_view`)
* **data** (object): The contextual data that accompanies the tracking event. Format determined by the event type (e.g., `{"id": "abc123"}`)
## Response Schema
The user's unique PureClarity visitor ID. This should be set as the `pc_v_` cookie in the users browser. The expiry of the `pc_v_` cookie should be set to unlimited
**Example:** `testVisitorId`
The user's unique PureClarity session ID for the current visit. This should be set as the `pc_sessid_` cookie in the users browser. The expiry of the `pc_sessid_` cookie should be set to 5 minutes
**Example:** `testSessionId`
Contains each error that occurred should there be any issues
Array of string error messages
An object that contains the result for each zone on the requested page. Each key property name, with an object that represents the zone content data
**Example:** `{"HP01": {"type": "staticimage"}}`
## Example Request
```json theme={null}
{
"appId": "testAppId",
"secretKey": "testSecretKey",
"currentUrl": "http://www.yoursite.com/shop/product/abc123",
"userAgent": "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
"ip": "208.67.222.222",
"visitorId": "testVisitorId",
"sessionId": "testSessionId",
"referer": "http://www.yoursite.com/shop/",
"currency": "USD",
"events": [
{
"name": "page_view",
"data": {
"page_type": "product"
}
},
{
"name": "product_view",
"data": {
"id": "abc123"
}
}
]
}
```
## Example Response
```json theme={null}
{
"visitorId": "testVisitorId",
"sessionId": "testSessionId",
"errors": [],
"zones": {
"HP01": {
"type": "staticimage",
"content": {
"imageUrl": "https://example.com/banner.jpg",
"linkUrl": "https://example.com/promotion"
}
},
"PDP01": {
"type": "recommender",
"products": [
{
"id": "prod123",
"title": "Related Product",
"price": 29.99
}
]
}
}
}
```
## Usage
Use the server-side endpoint, and pass the appropriate [tracking events](/integrations/custom/api-reference/event-tracking/overview) based on what page the user is currently on.
If you detect the user has updated their basket, send the [set\_basket](/integrations/custom/api-reference/event-tracking/set_basket) event. If the user is on a product page, send the [product\_view](/integrations/custom/api-reference/event-tracking/product_view) event. If the user has logged in, send the [customer\_details](/integrations/custom/api-reference/event-tracking/customer_details) event.
You can send multiple events in each request.
Ensure you always send the [page\_view](/integrations/custom/api-reference/event-tracking/page_view) tracking event, and set the `page_type` context. This ensures that the response from PureClarity will contain information about the personalised content to show.
Please read our [Implementation Methods](/integrations/custom/api-reference/getting-started/implementation-methods---client-vs-server) guide to determine whether to use client-side or server-side for your site.
We recommend you use our client-side implementation unless they have a specific requirement for using our server-side API.
# 3. Image Carousel
Source: https://docs.pureclarity.com/integrations/custom/api-reference/templating/image-carousel
# Image Carousel
The [Image Carousel](/integrations/custom/api-reference/models/carousel-model) recommender template is rendered in zones defined to show the Image Carousel. A carousel has a number of properties, including an images array, in order to configure a JavaScript carousel library. Our default template uses the comprehensive [jssor carousel](https://www.jssor.com/demos/carousel-slider.slider), however you could implement your own and take advantage of the properties provided in the carousel object.
# 1. Overview
Source: https://docs.pureclarity.com/integrations/custom/api-reference/templating/overview
# Overview
All PureClarity components can be edited using the inbuilt HTML & CSS templates. Templates gives
you full control over the look and feel of merchandising and email. You can edit the default
templates for each PureClarity component and create your own themes.
For help on checking the templates on your site, have a look at our Developer Debug Mode.
PureClarity provides default templates for the following content types:
* [Product Recommender](/integrations/custom/api-reference/models/product-recommender-model)
* [Category Recommender](/integrations/custom/api-reference/models/category-recommender-model)
* [Brand Recommender](/integrations/custom/api-reference/models/brand-recommender-model)
* [Static Image](/integrations/custom/api-reference/models/image-model)
* [Image Carousel](/integrations/custom/api-reference/models/carousel-model)
The PureClarity template language implements a large subset of the
[HandlebarsJS](http://handlebarsjs.com/) language and with more advanced helpers from
[Just Handlebars Helpers](https://github.com/leapfrogtechnology/just-handlebars-helpers).
Handlebars allows you to access properties and objects within the templates, for example
`{{Title}}` can be used to display the title of the product.
The full set of objects and properties for each content type can be found in the
[Objects & Properties](/integrations/custom/api-reference/models/overview) section.
Each template contains HTML and CSS which can be edited in the PureClarity Admin Console. To edit
the templates follow the paths below:
1. Settings > Template Editor
Templates are version controlled. Using the Developer Debug bar you can log in and preview a
campaign. It is recommended that as templates are being developed and checked for styling, the
preview mode is used.
In the HTML templates, object properties and logical expressions are identifiable by using double
curly brackets, e.g. `{{#if linkLocation}}`, as outlined by the HandlebarsJS specification. These
expressions populate the component with data at render-time or allow for conditions and looping,
for example over an array, and give you control over what PureClarity shows in the style that suits
your site. When displaying properties with double brackets the value is escaped. This is obviously
problematic if your value contains HTML. To display a value without any encoding use triple
brackets, e.g. `{{{title}}}`.
All templates are built using the data outlined in
[Objects & Properties](/integrations/custom/api-reference/models/overview) section
## General Properties
There are a couple of general properties that exist within recommender templates:
`{{uniqueId}}` is a general property that is available within all recommender templates and is a
unique reference. In our default template we use this alongside a JavaScript snippet to allow for
the scrolling of items within a recommender.
`{{clickEvt}}` is a property that is available on each item in a recommender template. This should
be applied to the mousedown event of the containing DIV element for each item, for example the DIV
that contains each product. It is important that this is added to recommender templates as this
helps PureClarity to track when a user interacts with an item, and thus attribute click through
events to a users activity.
# 2. Recommenders
Source: https://docs.pureclarity.com/integrations/custom/api-reference/templating/recommenders
# Recommenders
Recommender templates include:
* [Product Recommender](/integrations/custom/api-reference/models/product-recommender-model)
* [Category Recommender](/integrations/custom/api-reference/models/category-recommender-model)
* [Brand Recommender](/integrations/custom/api-reference/models/brand-recommender-model)
## Product Recommender
The product recommender template is rendered when a user is shown a recommender based on products in a merchandising zone. We iterate over the `{{items}}` property array to pull out data for each product. Here we use the `{{uniqueId}}` property to give each zone a unique reference so that a scroll bar can target each recommender.
## Brand Recommender
The brand recommender template is rendered when a user is shown a recommender based on brands in a merchandising zone. Each brand object contains data as provided by the brand feed. If a brand feed has not been submitted, brand recommenders cannot be shown.
## Category Recommender
The category recommender template is rendered when a user is shown a recommender based on the categories in a zone. Similar to the brand recommender, category recommenders require a category feed to have been submitted in order to be displayed.
# 4. Static Image
Source: https://docs.pureclarity.com/integrations/custom/api-reference/templating/static-image
# Static Image
The [Static Image](/integrations/custom/api-reference/models/image-model) recommender template is rendered when a user is shown a recommender configured to show a Static Image in a zone. The image object contains a link, so the image can be wrapped with an anchor tag allowing users to be directed to a specific page when the image is clicked.
# Custom Installation
Source: https://docs.pureclarity.com/integrations/custom/installation
Custom integration guide for platforms without direct PureClarity plugins, featuring comprehensive custom implementation documentation and resources
Our Custom Installation is for customers who are not on any of the shopping platforms that PureClarity has a direct plugin with.
Not sure if that applies to you? Check our platform-specific integrations including [Magento](/integrations/magento/magento-2/installation), [WooCommerce](/integrations/woocommerce/installation), [Shopify](/integrations/shopify/installation), [BigCommerce](/integrations/bigcommerce/installation), [X-Cart](/integrations/x-cart/installation), and [Drupal](/integrations/drupal/integration).
## When You Need Custom Integration
Choose custom integration if you're using:
* **Custom-built ecommerce platforms**
* **Legacy systems** without modern plugin support
* **Headless commerce** setups
* **Multi-platform architectures**
* **Enterprise systems** with specific requirements
* **Any platform** not covered by our direct integrations
## Comprehensive Documentation
Everything you'll need to get up and running with a custom PureClarity integration is available in our comprehensive custom documentation. Use the navigation on the left to explore all sections including:
* **Getting Started**: Implementation methods, authentication, and initial setup
* **Client-side Implementation**: JavaScript tracking, zones, and event monitoring
* **Server-side Implementation**: API endpoints and real-time personalization
* **Event Tracking Reference**: Complete guide to all tracking events
* **Data Feeds**: Product, category, brand, user, and order feeds
* **Templating**: Custom recommendation displays
* **Objects & Properties**: Data models and API schemas
* **GDPR**: User anonymization and privacy compliance
### What's Included
Our custom documentation covers:
#### Getting Started
* **Implementation methods**: Client-side vs server-side approaches
* **Authentication**: Setting up API access and credentials
* **Initial setup**: Account configuration and basic requirements
#### Data Feeds
* **Product feeds**: Complete product catalog synchronization
* **Category feeds**: Category structure and metadata
* **Brand feeds**: Brand information and associations
* **User feeds**: Customer data and segmentation
* **Order feeds**: Purchase history and transaction data
#### Client-Side Implementation
* **JavaScript SDK**: Frontend tracking and personalization
* **Zone implementation**: Adding recommendation areas
* **Event tracking**: User behavior and interaction monitoring
* **Currency handling**: Multi-currency support
#### Server-Side Implementation
* **API endpoints**: Direct server-to-server communication
* **Real-time personalization**: Server-side recommendation delivery
* **Advanced use cases**: Custom business logic integration
#### Advanced Features
* **Segmentation**: Customer targeting and personalization
* **A/B testing**: Campaign optimization and testing
* **Analytics integration**: Performance tracking and reporting
* **Custom templates**: Tailored recommendation displays
## Development Resources
### SDKs and Libraries
**PHP SDK**: [GitHub Repository](https://github.com/PureClarity/php-sdk)
* Complete PHP implementation
* Data feed management
* Event tracking
* API communication
**JavaScript Library**: Included in custom documentation
* Frontend personalization
* User tracking
* Zone management
* Real-time recommendations
### API Reference
Complete API documentation includes:
* **RESTful endpoints** for all operations
* **Request/response formats** with examples
* **Authentication methods** and security
* **Rate limiting** and best practices
* **Error handling** and troubleshooting
## Implementation Approaches
### Client-Side Integration
Perfect for:
* **Quick implementation** with minimal backend changes
* **Standard ecommerce** setups
* **Marketing-led** personalization initiatives
### Server-Side Integration
Ideal for:
* **High-performance** requirements
* **Custom business logic** integration
* **Advanced personalization** scenarios
* **Enterprise-grade** implementations
### Hybrid Approach
Best for:
* **Complex architectures** requiring both methods
* **Gradual migration** from existing systems
* **Multi-channel** commerce setups
## Support and Services
### Technical Support
* **Email support**: [support@pureclarity.com](mailto:support@pureclarity.com)
* **Developer resources**: Comprehensive documentation and examples
* **Community support**: Developer forums and knowledge base
### Professional Services
For complex implementations, we offer:
* **Custom development** assistance
* **Integration consulting** and planning
* **Performance optimization** services
* **Training and onboarding** for your development team
### Getting Started Process
1. **Review Documentation**: Explore the sections in the left navigation
2. **Plan Your Integration**: Choose client-side, server-side, or hybrid approach
3. **Set Up Development Environment**: Get API credentials and test environment
4. **Implement Core Features**: Start with product feeds and basic tracking
5. **Add Advanced Features**: Implement segmentation, campaigns, and analytics
6. **Test and Optimize**: Performance testing and optimization
7. **Go Live**: Deploy to production with monitoring
Start with a minimal viable implementation focusing on product feeds and basic zones, then gradually add advanced features as you become familiar with the platform.
## Success Stories
Many successful implementations have been built using our custom integration:
* **Enterprise retailers** with complex multi-brand setups
* **B2B platforms** with custom pricing logic
* **Subscription services** with unique recommendation needs
* **Marketplace platforms** with multiple vendor requirements
## Next Steps
1. **Explore the Documentation**: Use the navigation on the left to browse through all custom integration topics
2. **Contact Our Team**: Reach out to [support@pureclarity.com](mailto:support@pureclarity.com) for implementation guidance
3. **Plan Your Integration**: Determine which approach best fits your platform and requirements
Custom integrations require development resources and technical expertise. Ensure you have the necessary technical team or consider our professional services for complex implementations.
# Drupal Integration
Source: https://docs.pureclarity.com/integrations/drupal/integration
Complete guide for integrating PureClarity with Drupal using the PHP SDK, including data feeds, JavaScript implementation, and advanced personalization features
As Drupal is a PHP-based platform, you should use our [PHP SDK](https://github.com/PureClarity/php-sdk/wiki) to sync data between your store and PureClarity.
## Getting Started
You will need to complete 3 steps in order to start using PureClarity.
### Step 1: Send Products to PureClarity
Send a Product feed [using the PHP SDK](https://github.com/PureClarity/php-sdk/wiki/Product-Feed). This will allow PureClarity to know what Products are available on your site.
We allow up to 4 product feeds per day and each product feed needs to be 150MB or less.
### Step 2: Add JavaScript Snippets
We require the use of [JavaScript Snippets](https://pureclarity.stoplight.io/docs/bespoke-docs/docs/1.%20Getting%20Started/4.%20PCJS%20Master%20Function.md) on the frontend of your store. These load PureClarity onto each page, and allow PureClarity to track the users actions so their experience is personalized.
### Step 3: Add Zones
Add [Zones](https://pureclarity.stoplight.io/docs/bespoke-docs/docs/2.%20Client-side%20Implementation/3.%20Zones.md) to relevant pages. Create some HTML div elements for your PureClarity Zones that will show personalized content.
Start with these three basic steps to get PureClarity working on your Drupal site, then implement the advanced features outlined below for maximum personalization impact.
## Advanced Implementation
### Overview
In order to maximize your use of PureClarity, there are some further steps that we recommend:
#### Historic Order Feed
This feed "seeds" PureClarity with existing orders. It allows PureClarity to learn about what products are bought with which other products, and what your existing customers have already purchased so their experience is personalized from day 1.
This can be done using the [PHP SDK](https://github.com/PureClarity/php-sdk/wiki/Order-Feed).
#### Send Category & Brands Feeds
These allow PureClarity to track which categories and brands your customers are purchasing in. These mean that you can get:
* **Brands on the PureClarity Autocomplete**: When users enter text into the Autocomplete, links appear for applicable brands
* **PureClarity Category and Brand recommenders**: Recommenders such as "Recommended for you in Clothing" and "Best Selling Brands" are available to use
You can use the PHP SDK to send the [Category](https://github.com/PureClarity/php-sdk/wiki/Category-Feed) and [Brand](https://github.com/PureClarity/php-sdk/wiki/Brand-Feed) Feeds.
#### Send a User Feed
This feed allows you to pass custom information you have about your customers to PureClarity. This can be used to help [Segment](/features/segments/overview) your customers which are used in [Campaigns](/features/campaigns/overview).
You can use the PHP SDK to send the [User Feed](https://github.com/PureClarity/php-sdk/wiki/User-Feed).
#### Use Product Deltas
If your product catalogue is regularly updated several times a day, then you can use the PureClarity Product Deltas to send up to date product information.
You can use the PHP SDK to send the [Deltas](https://github.com/PureClarity/php-sdk/wiki/Deltas).
Product deltas ensure your recommendations always show current pricing, availability, and product information without waiting for the next full feed.
#### Offline Orders
If your customers can place orders from another channel for example in a physical store or over the phone – then you can ensure that PureClarity is aware of these orders by sending a daily feed of these offline orders. This means when your customers return to your website, their personalized experience will take into account their offline orders.
This can use the same process as the "Historic" orders as outlined above.
## Terminology
Below is a guide to Drupal terms and their equivalent in PureClarity. Note that products and variants are very similar in both implementations.
### Store
**PureClarity equivalent**: Store View
We recommend that your PureClarity setup is the same as your Drupal setup. Therefore if you have 5 Drupal Stores, we recommend you have 5 PureClarity Store Views.
There is an additional charge for having multiple PureClarity Store Views. Each Store View has a separate product data set. Each store view can support multiple currencies. Personalization is unique to each Store View.
### Product
**PureClarity equivalent**: Product
PureClarity operates at the product level. Products are surfaced in recommenders in Zones. Clicking on them will take the user to your product page, which will allow them to select the variant they want to purchase.
See the [Product Data Feed Overview](https://pureclarity.stoplight.io/docs/bespoke-docs/docs/6.%20Data%20Feeds/product.v1.json) for more information.
### Variant / Product Variation
**PureClarity equivalent**: Variant
Variant information is sent over in the PureClarity product feed. The variant record contains details about the variant, and the parent product it is part of. This is used to surface the correct products in the Zones.
See the [Product Data Feed Overview](https://pureclarity.stoplight.io/docs/bespoke-docs/docs/6.%20Data%20Feeds/product.v1.json) for more information.
### Attribute / Product Attribute Value
**PureClarity equivalent**: Attribute
*Products* and *Variants* in the PureClarity product feed can contain any *attributes* from your site. Each record in the product feed will contain all the attributes for that product or variant, with all of the attribute values.
PureClarity uses this data in the *facets* (filters on the search results and product listing pages).
The data can also be used in PureClarity templates to control how the Product looks when it is displayed.
See the [Product Data Feed Overview](https://pureclarity.stoplight.io/docs/bespoke-docs/docs/6.%20Data%20Feeds/product.v1.json) for more information.
### Currency
**PureClarity equivalent**: Currency
Each product or variant in PureClarity can contain prices in multiple currencies. The PureClarity [Currency Tracking Event](https://pureclarity.stoplight.io/docs/bespoke-docs/docs/5.%20Event%20Tracking%20Reference/currency.v1.json) is used to switch which currency PureClarity is using.
## Implementation Best Practices
### Data Feed Strategy
1. **Start with Product Feed**: Implement the product feed first to see immediate results
2. **Add Categories and Brands**: Enhance recommendations with category and brand data
3. **Import Historic Orders**: Seed the system with existing purchase data
4. **Implement Deltas**: Keep data fresh with real-time updates
### JavaScript Integration
1. **Page Tracking**: Ensure tracking is implemented on all relevant pages
2. **Event Tracking**: Track key user actions like purchases, add to cart, etc.
3. **Currency Switching**: Implement currency tracking for multi-currency sites
### Zone Placement
1. **Strategic Placement**: Position zones where they'll have maximum impact
2. **Page-Specific Zones**: Use different zone IDs for different page types
3. **Testing**: A/B test zone positions to optimize performance
Ensure your PHP SDK implementation includes proper error handling and logging to troubleshoot any data feed issues.
## Support and Resources
For detailed implementation guidance:
* [PHP SDK Documentation](https://github.com/PureClarity/php-sdk/wiki)
* [Custom Integration Docs](https://pureclarity.stoplight.io/docs/bespoke-docs)
* Email support: [support@pureclarity.com](mailto:support@pureclarity.com)
The PureClarity team can provide custom implementation guidance for complex Drupal setups. Contact support for assistance with your specific integration requirements.
# Magento 1.x Configuration
Source: https://docs.pureclarity.com/integrations/magento/magento-1/configuration
Comprehensive configuration guide for Magento 1.x PureClarity integration including zones, feeds, product options, and advanced settings
## Zones Configuration
Zones, or to give them their longer name 'Behavioral Merchandizing Zones' or BMZs, are content areas that display PureClarity Banners, Images and intelligent Product, Category & Brand Recommenders.
Before using PureClarity you need to install Zones in the relevant areas on your site. This can be done manually using PureClarity Magento Widgets.
### Creating Zone Widgets
Navigate to **CMS → Widgets**. Click the **Add New Widget Instance** button, in orange on the top right.
Pick the type to be a **PureClarity BMZ**, then select the theme you want to use.
Click **Continue**.
From there, be sure to select the correct store of the site that you wish to install BMZs.
Each BMZ Id references the corresponding BMZ Id/Zone Name within the PureClarity Admin console, and allows you to configure what is displayed in that area.
### Example: Adding a Search Results Zone
As an example of how to add your own BMZ widgets to your site, let's add a BMZ to the Search Results Page from beginning to end:
1. Navigate to **CMS > Widgets**. Click **Add New Widget Instance**.
2. Choose "PureClarity BMZ" from the **Type** drop down.
3. Choose your current theme from the **Design Theme** drop down.
4. Input a **Widget Instance Title** such as "PC BMZ SR-01" to represent a Search Results BMZ. Click **Save and Continue Edit**.
5. Choose the page where you'd like your BMZ to be displayed. In this example we choose "All Pages" and "Left Column" from the Block reference.
6. Select "Widget Options" from the left menu.
7. Enter **SR-01** into the BMZ Id box.
8. Applying a margin will set a 10px margin above and below the BMZ content area.
9. **CSS Custom Class**: You can add your own css classes that will be added to the BMZ html element for greater control of how it's displayed.
10. Click **Save**.
Your PureClarity BMZ Widget is now configured, and can be seen on the search results page!
When adding new widgets you may need to clear the Magento cache to see it appear.
See debugging BMZs in the advanced section to help see your BMZ if nothing appears.
## Feeds & Indexing
### Product Data Options
You can augment each product with additional information, sent in the data feed, to control how PureClarity displays products.
Go to **Catalog > Manage Products** and select an item to edit. On the lefthand menu bar, click **PureClarity**:
When editing a product open the PureClarity section to see the properties that can be set.
### Search Tags
Search Tags are used in recommenders based on Search. You can add search tags to products, e.g. 'Summer', to boost the relevance of products based on visitors' search terms. Enter a comma separated list of words or phrases that you'd like to be sent to PureClarity as Search Tags.
### Exclude from Recommenders
Set this to yes to stop a product from being included in PureClarity Recommenders. You may want to do this for small priced items.
### New Arrival
Set if a product should be treated as a new arrival by PureClarity. This enhances recommenders and helps to target customers by showing hot new arrival products that may interest them.
### On Offer
Set if a product should be treated as an on-offer product. This enhances recommenders and helps to target customers by showing them products that are on promotion. PureClarity will do this automatically if products are on sale, however, you may want to override this if a product doesn't currently have a special price, but you'd like it to be treated as a promoted product.
## Image Overlay
You can set an additional overlay image to be placed over the product listing display. This could include an image such as "On Offer" or "Free Delivery".
To set the image, upload an image under the "Images and Videos" section under a product's properties, and select the "PureClarity Overlay Image" as the image role by selecting the image and selecting the option from the Role list.
You can add additional text to be sent with the product to PureClarity that can be used within the PureClarity template.
## Category Options
You can set an additional option for PureClarity against each category. To do this go to the PureClarity section on a categories properties page. The options available are:
### PureClarity Image
This allows you to set an additional category image should you wish to set one specifically for PureClarity category recommenders. To use this, you will need to alter the PureClarity template under the PureClarity admin console. In the most common cases PureClarity will work and use the categories' standard image.
### Exclude from Recommenders
Set this to yes to stop a category from being included in PureClarity Recommenders.
## Placeholder Images
You can set fallback image URLs to be used where a product, category or brand doesn't have any images set. To do this navigate to the PureClarity Configuration Page from the left hand menu, and set each URL using the text boxes under the "Placeholder images" section.
Setting placeholder images ensures your recommendations always look professional, even when product images are missing or haven't been uploaded yet.
## Next Steps
Once configuration is complete, refer to our [Magento 1.x Troubleshooting](/integrations/magento/magento-1/troubleshooting) guide if you encounter any issues with your setup.
# Magento 1.x Installation
Source: https://docs.pureclarity.com/integrations/magento/magento-1/installation
Complete installation guide for setting up PureClarity with Magento 1.x including extension installation, configuration, and data feed setup
Before starting, ensure you have admin access to your Magento 1.x store and can install extensions in your Magento environment.
## What Does the Extension Do?
The PureClarity Magento 1 extension does the following:
* Creates all the links to product, category, user & brand data
* Allows you to submit data feeds and historic order data feeds
* Ensures data integrity between your store and PureClarity through cron jobs
To get started you'll need to create a PureClarity Application Account.
## Create a PureClarity Application Account
You can sign up for a new account by clicking [here](https://admin.pureclarity.com/signup/create-account) and following the steps to create your admin account.
Once you're in you'll need to get the following keys which you'll add to the Magento extension:
1. **AccessKey**
2. **SecretKey**
You can find these under the **My Account > Integration** menu.
For security reasons it's important to not share the SecretKey with anyone.
### Multiple Language Stores
If you have multiple language stores you will need an application per store, and thus multiple Application Access Keys. Please contact our Support Team to create additional PureClarity accounts for you at [support@pureclarity.com](mailto:support@pureclarity.com).
## Install the Extension
You can install the extension by downloading the latest release from our [GitHub repository releases page](https://github.com/PureClarity/pureclarity-magento-1/releases).
Once you've downloaded the source code, it needs to be extracted into the root folder of your Magento 1 site.
Make sure to backup your Magento installation before installing any new extensions.
## Environment Configuration
Once the PureClarity extension has been installed, navigate to the PureClarity settings page by hovering over the **System** menu item from the top bar menu. Then click **Configuration**, right at the bottom. Finally, scroll down until you see **PURECLARITY** configuration on the left-hand menu bar:
Go ahead and click that. This takes you to six config areas.
### Enable PureClarity
First, expand the **Environment** tab and click 'Yes' on the **Enabled** menu.
### Configure Credentials
Then, expand the **Credentials** tab. Here, paste in your **AccessKey**, **SecretKey** and select your specific **Region** from the drop down. Click **Save Config**.
### Multiple Store Configuration
If you have multiple stores (e.g. with differing languages), contact us to provide you with multiple Access Keys.
You can configure each store individually by selecting the store from the **Current Configuration Scope** drop down at the top left of the configurations page, and configuring each store separately.
## Data Feeds
### Brand Feeds
If you'd like to enable PureClarity with Brand information you will need to configure, enable and submit brand feeds. This could also be a Vendor or Manufacturer. A brand under most circumstances requires a name and an image to activate the brand recommender and search functionality in PureClarity. As Magento does not support Brands, PureClarity uses categories for brands.
You can configure this in the **Catalog** section on the top menu bar:
From there, select **Manage Categories**.
The PureClarity Magento extension handles brand feeds using Magento categories. This is done by creating a parent category, for example with the name "Brands", that will have a list of subcategories for each of your brands. This will allow you to give each brand a name, an image and add the products that belong to that brand.
The parent category and subcategories can be set to hidden from menus, but note that "Is Active" must be set to "Yes".
Once your brand categories are configured and you've added your products to them, you can set the parent category, such as Brands, under the "Brand Parent Category" drop down box under the PureClarity configurations page you navigated to earlier. This tells PureClarity to treat all the first level children of this category as brands.
### Initial Feed Submission
Before enabling PureClarity on the front end you must ensure the extension has submitted an initial set of data feeds to PureClarity.
To keep your data in sync, you can use the **Daily Feed**, which sends the feed to PureClarity once a day. You might also consider turning on the **Delta feed**, which enables any changes you make to products to be sent along to PureClarity within a matter of minutes.
#### Running the First Feeds
To kick things off ensure you have saved your settings and then click the **Run Feed...** button under the **Actions** tab to display the PureClarity Data Feed popup. From here we can manually generate and submit the data feeds:
Select the **Website** and **Store** you'd like to submit a data feed to, ensure **Products**, **Categories**, **Brands** and **Users** are checked, and click the **Run selected feed generations now** button.
For now, leave the "Import Historic Sales Orders" unchecked, this is discussed below.
You will see a status progress for the data feed creation and submission process.
As outlined above changes to data are updated automatically by the PureClarity extension. However, should you wish to manually submit a full feed to PureClarity you can follow this process at any time.
Once the feeds have been generated, they will be submitted to PureClarity. To see when the data has been processed you can log into the PureClarity admin console, select **Settings > Feed Management** to see a list of the feeds along with their import statuses.
If there are any issues with the feeds, see the [Troubleshooting Guide](/integrations/magento/magento-1/troubleshooting).
See the [Advanced Configuration](/integrations/magento/magento-1/configuration) for more information on configuring what is sent as part of the product and category feed.
### Historic Sales Orders
Following the same initial import process for Products, Categories, Brands and Users, you can also import the last 6 months of orders into PureClarity. This helps to activate and kick start the data that PureClarity collects by allowing the system to begin mining common purchase patterns and associating buying activities to users.
Orders can only be imported only once. If orders are imported a second time they are dropped by the system so as to not duplicate data.
## Go Live with PureClarity
To go live with PureClarity, the next time you do a release on your site, you can make sure the site has the PureClarity plugin on it, ensure that the plugin has the same **AccessKey** and **SecretKey** as your current staging site, and then run a product feed once the keys are on the live site, so that PureClarity knows about the products on your live site – including links.
**Congratulations!** PureClarity is now installed, configured and initialised and is ready to be switched on!
## Next Steps
Please see our [Magento 1.x Configuration](/integrations/magento/magento-1/configuration) article for the next steps in setting up your PureClarity integration.
# Magento 1.x Troubleshooting
Source: https://docs.pureclarity.com/integrations/magento/magento-1/troubleshooting
Common troubleshooting solutions for Magento 1.x PureClarity integration including feed failures, zone display issues, and data sync problems
Here are troubleshooting tips for common issues with the Magento 1.x PureClarity integration.
## Feed Issues
### Why Are My Feeds Failing?
**Check Server Connectivity and Credentials:**
* Ensure your server can talk to the PureClarity servers
* Verify your AccessKey, SecretKey and Region are correct
**Enable Debug Logging:**
You can activate Debugging under **System > Configuration > Developer > Debug** and enable "Log Settings". Check the `var/debug.log` for additional information as to why the feed may not be working.
The debug log will show detailed error messages that can help identify specific connectivity or authentication issues.
## Zone Display Issues
### Why Are the BMZs Not Showing?
**Check Basic Configuration:**
* Verify everything is enabled in the PureClarity configuration
* Ensure zones are being rendered to the screen
**Enable Debug Mode:**
Enable Debugging by switching Debug Mode from the Advanced section on the PureClarity Configuration page, to see if the BMZs show the BMZ Ids on the front end.
**If BMZs Are Rendered But Not Populated:**
* Ensure that the BMZs are configured in the PureClarity admin console under settings
* Check that you have active merchandising campaigns set up
**If BMZs Are Not Being Rendered At All:**
1. Check that other types of Widget can be displayed on the site (e.g. a CMS Static Block)
2. If not, there is likely an issue with the theme
3. Try removing any content from the Layout and Default fields at **System > Configuration > General > Design**
4. Re-test a basic Widget against different themes you have listed
5. If the Widget now displays, it indicates an issue with the theme you were using
If widgets aren't working at all, the issue is likely with your Magento theme rather than the PureClarity extension.
**Alternative Approach:**
An alternative approach to displaying BMZs would be to embed them directly within the theme if widgets aren't working properly.
## Data Sync Issues
### My Products/Categories Aren't Updating
**Check Feed Configuration:**
* Ensure that Daily and Index feeds are enabled on the PureClarity Configuration page
* Verify that your Index Management contains the PureClarity Indexes
* Confirm that your indexing Cron jobs are running
Data synchronization relies on both the feeds being enabled and the Magento cron jobs running properly to process the index updates.
**Verify Cron Job Status:**
Check that Magento's cron jobs are running correctly, as PureClarity relies on these for data synchronization.
## Customer-Specific Pricing
### How Do I Show Customer Specific Prices?
Currently, PureClarity only supports customer specific pricing in Server Side Mode, and the PureClarity Magento 1.x extension does not support the server-side method.
Read the [Implementation Methods](https://pureclarity.stoplight.io/docs/bespoke-docs/docs/1.%20Getting%20Started/2.%20Implementation%20methods%20-%20client%20vs%20server.md) section of our documentation for further information on server side mode.
## General Debugging Tips
### Debug Mode Benefits
When Debug Mode is enabled, you can:
* See BMZ IDs displayed on the frontend
* Identify which zones are being loaded
* Check if zones are properly configured
* Verify that PureClarity JavaScript is loading correctly
### Common Resolution Steps
1. **Clear Magento Cache**: Always clear cache after making configuration changes
2. **Check Error Logs**: Review both Magento logs and PureClarity debug logs
3. **Verify Permissions**: Ensure proper file permissions for the extension
4. **Test in Different Browsers**: Sometimes browser caching can hide updates
### Getting Additional Help
If you continue to experience issues after following these troubleshooting steps:
1. Enable debug mode and gather any error messages
2. Check the feed status in your PureClarity admin console
3. Contact support at [support@pureclarity.com](mailto:support@pureclarity.com) with:
* Your Magento version
* PureClarity extension version
* Description of the issue
* Any error messages from debug logs
When contacting support, providing detailed information about your setup and any error messages will help resolve issues more quickly.
# Adding Another Store
Source: https://docs.pureclarity.com/integrations/magento/magento-2/adding-another-store
How to add another store view to your PureClarity account in Magento 2.x for multi-language or multi-store setups
If you already have a PureClarity account and want to use PureClarity on another store view on your site (e.g. a store with another language), you can add it to your existing account rather than creating a separate billing account.
Using the "add another store" option ensures the new store is added to your existing account for billing purposes, rather than creating a separately billed account.
## Adding a New Store
Navigate to the PureClarity configuration in your Magento admin and click the link above the signup form fields to create another store on your account.
This will open the Link Account form. Select **"Create a new PureClarity store"** to add a new store to your existing account.
"Link an existing PureClarity store" will only link an existing store and will not create a new one. For linking existing stores, see the [Linking an Existing Store](/integrations/magento/magento-2/linking-existing-store) guide.
## Required Information
You'll need the following details from any existing store on your account:
1. **Access Key**
2. **Secret Key**
These credentials are only used to verify your account ownership and will not affect the behavior of your existing store.
You can find these credentials under **My Account > Integration** within the PureClarity admin dashboard.
For security reasons, never share your Secret Key with anyone. Keep these credentials confidential.
You'll also need to select the correct region (USA / Europe) where your PureClarity application is hosted.
## Automatic Configuration
Once PureClarity verifies your account and creates the new store, the following will be automatically configured:
### Plugin Configuration
* Module enabled
* Access Key configured
* Secret Key configured
* Daily feeds enabled
* Data indexing enabled
### Data Feeds Requested
The following feeds will be automatically requested:
* **Product feed** - All product data
* **Category feed** - Category structure and data
* **User feed** - Customer information
* **Historic order information** - Last 12 months of order data
The automatic configuration saves significant setup time and ensures your new store is properly integrated with PureClarity from the start.
## Next Steps
After adding your new store:
1. Verify the configuration in your Magento admin
2. Check feed status on the PureClarity dashboard
3. Configure any store-specific settings
4. Test personalization features on the new store view
For troubleshooting feed issues, see our [Feed Troubleshooting Guide](/integrations/magento/magento-2/feeds-failing-errors).
# Adding Zones Using HTML
Source: https://docs.pureclarity.com/integrations/magento/magento-2/adding-zones-html
Direct template integration of PureClarity zones using HTML tags in Magento 2.x theme templates
For precise zone placement that can't be achieved with standard widgets, you can add PureClarity zones directly to your theme templates using HTML tags. The HTML syntax varies depending on your display mode configuration.
## Before You Begin
Check your PureClarity display mode setting in **Stores > Configuration > PureClarity > Mode** to determine which HTML syntax to use.
Direct HTML integration requires theme customization and should be performed by developers familiar with Magento theme structure.
## HTML Syntax by Mode
### Client-Side Mode HTML
For installations using **client-side** display mode:
```html theme={null}
```
**Characteristics:**
* **Minimal markup** required
* **JavaScript-driven** content insertion
* **Asynchronous loading** of recommendations
* **PureClarity-managed** templates and styling
### Server-Side Mode HTML
For installations using **server-side** display mode:
```html theme={null}
```
**Characteristics:**
* **Multiple attributes** for server processing
* **Magento-rendered** content
* **Custom template** control
* **Server-side** data integration
Using the wrong HTML syntax for your mode will prevent zones from displaying. Always verify your configuration mode before implementing HTML zones.
## Zone ID Configuration
### Zone ID Format
Replace `ZONE-ID` in the HTML examples with your actual PureClarity zone identifier:
**Examples:**
* Homepage hero: `HP-01`
* Category page recommendations: `CAT-01`
* Product page cross-sells: `PDP-01`
* Search results: `SR-01`
### Zone ID Best Practices
* **Use descriptive naming** - Clear identification of zone purpose
* **Maintain consistency** - Standardized naming across your site
* **Document zone mapping** - Keep records of zone placements
* **Coordinate with campaigns** - Ensure zone IDs match PureClarity admin
Zone IDs must exactly match the zone identifiers configured in your PureClarity campaigns. Mismatched IDs will result in empty zones.
## Template Integration Locations
### Common Integration Points
**Theme Files:**
* `app/design/frontend/[Vendor]/[theme]/Magento_Catalog/templates/`
* `app/design/frontend/[Vendor]/[theme]/Magento_Checkout/templates/`
* `app/design/frontend/[Vendor]/[theme]/Magento_Cms/templates/`
**Typical Placements:**
* **Homepage sections** - In CMS page templates
* **Category pages** - In category view templates
* **Product pages** - In product detail templates
* **Cart/Checkout** - In shopping cart templates
### Example Integrations
#### Homepage Hero Zone
```html theme={null}
```
## Advanced HTML Integration
### Conditional Zone Display
```html theme={null}
isZoneEnabled('HP-01')): ?>
```
### Responsive Zone Implementation
```html theme={null}
```
### Fallback Content
```html theme={null}
getFallbackContent(); ?>
```
Fallback content provides a backup when PureClarity services are unavailable, ensuring your site maintains functionality and appearance.
## CSS Styling Considerations
### Zone Container Styling
```css theme={null}
.zone-container {
min-height: 200px;
margin: 20px 0;
position: relative;
}
/* Loading state */
.zone-container[data-pureclarity]:empty::before {
content: "Loading recommendations...";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #999;
}
```
### Responsive Design
```css theme={null}
@media (max-width: 768px) {
.zone-container {
margin: 10px 0;
min-height: 150px;
}
}
```
### Theme Integration
```css theme={null}
/* Match your theme's existing styles */
.zone-container {
background: var(--theme-background);
border-radius: var(--theme-border-radius);
padding: var(--theme-spacing);
}
```
## Performance Optimization
### Lazy Loading Zones
```html theme={null}
```
### Preload Critical Zones
```html theme={null}
```
### Minimize Layout Shift
```css theme={null}
.zone-container {
/* Reserve space to prevent layout shift */
min-height: 250px;
width: 100%;
}
```
Layout shifts can negatively impact user experience and Core Web Vitals scores. Always reserve appropriate space for zone content.
## Testing HTML Integration
### Validation Checklist
* [ ] **Syntax verification** - Correct HTML for your mode
* [ ] **Zone ID accuracy** - Matches PureClarity campaign configuration
* [ ] **Template compilation** - No Magento compilation errors
* [ ] **Content loading** - Zones display recommendations correctly
* [ ] **Responsive behavior** - Works across all device sizes
* [ ] **Fallback functionality** - Graceful degradation when needed
### Debug Mode Testing
Enable [Zone Debug Mode](/integrations/magento/magento-2/zone-debug) to visualize zone placement:
1. **Enable debug mode** in PureClarity configuration
2. **Clear Magento cache** to apply changes
3. **Visit pages** with HTML zones
4. **Verify zone placement** and identifiers
## Common Implementation Issues
### Zone Not Displaying
**Troubleshooting steps:**
1. **Verify HTML syntax** matches your configuration mode
2. **Check zone ID** in both template and PureClarity admin
3. **Clear all caches** (layout, blocks, page cache)
4. **Confirm template compilation** without errors
5. **Test with debug mode** enabled
### Incorrect Content
**Possible causes:**
* **Zone ID mismatch** between template and campaigns
* **Mode configuration** doesn't match HTML syntax
* **Campaign inactive** or incorrectly configured
* **Feed data** out of sync
### Performance Issues
**Optimization strategies:**
* **Minimize zone count** on single pages
* **Use appropriate caching** strategies
* **Implement lazy loading** for below-fold zones
* **Monitor server impact** for server-side mode
## Maintenance Best Practices
### Version Control
* **Track template changes** in version control systems
* **Document zone additions** and modifications
* **Test across environments** before production deployment
* **Maintain rollback capabilities** for problematic changes
### Regular Auditing
* **Review zone performance** quarterly
* **Validate zone placement** after theme updates
* **Check campaign alignment** with business goals
* **Monitor user engagement** with zone content
### Update Procedures
* **Test zone functionality** after Magento updates
* **Verify template compatibility** with new versions
* **Update documentation** when zones are modified
* **Coordinate with marketing** on campaign changes
## Related Resources
### Alternative Integration Methods
* [Adding Zones Using Widgets](/integrations/magento/magento-2/adding-zones-widgets) - GUI-based zone placement
* [Default Zone Installation](/integrations/magento/magento-2/default-zone-installation) - Standard zone setup
### Configuration Guides
* [Configuration Mode](/integrations/magento/magento-2/configuration-mode) - Understanding client-side vs server-side
* [Zone Debug Mode](/integrations/magento/magento-2/zone-debug) - Troubleshooting zone placement
### Advanced Topics
* [Server-Side Mode](/integrations/magento/magento-2/serverside) - Advanced server-side implementation
* [Custom Templates](/features/templates/creating-templates) - PureClarity template customization
# Adding Zones Using Widgets
Source: https://docs.pureclarity.com/integrations/magento/magento-2/adding-zones-widgets
How to add PureClarity zones to your Magento 2.x site using the widget system for flexible content placement
You can add PureClarity zones anywhere on your Magento site using the built-in widget system. The PureClarity extension adds a "PureClarity Zone" widget type that provides flexible zone placement options.
## Zone Widget Configuration Options
### Zone ID
The unique identifier for the zone that must match your campaign configuration in PureClarity admin. If no matching campaigns exist, no content will display.
### Fallback Block ID
Optional static block to display if PureClarity doesn't populate the zone when the page renders.
To find block IDs, navigate to **Content > Blocks** in Magento admin and check the "Identifier" column.
### Zone Display Mode
Controls device targeting for the zone:
* **Default** - Display on all devices
* **Mobile Only** - Display only on mobile devices
* **Desktop Only** - Display only on desktop devices
The description for "Desktop Only" in the original article appears to be incorrect (it said "mobile devices"). Desktop Only mode displays content only on desktop devices.
### Apply Margin
When enabled, adds 10px margin above and below the zone content area for better visual spacing.
### CSS Custom Classes
Add custom CSS classes to help the zone integrate with your theme styling.
## Step-by-Step Widget Creation
### Example: Adding a Search Results Zone
Let's walk through adding a zone to the search results page:
#### 1. Navigate to Widget Management
Go to **Content > Widgets** and click **"Add Widget"**.
#### 2. Select Widget Type
Choose **"PureClarity Zone"** from the **Type** dropdown.
#### 3. Select Design Theme
Choose your active theme from the **Design Theme** dropdown.
The theme must match the one active on the store view where PureClarity is installed.
#### 4. Continue to Configuration
Click **"Continue"** to proceed to the detailed configuration.
#### 5. Configure Storefront Properties
**Widget Title:** Add a descriptive title for reference (e.g., "PC Zone SR-01" for Search Results Zone)
**Assign to Store Views:** Select the store view where PureClarity is installed
**Sort Order:** Set priority if multiple widgets occupy the same position
#### 6. Configure Layout Updates
Layout updates determine where the widget appears on your site.
For our search results example:
1. Click **"Add Layout Update"**
2. Select **"Specified Page"** from **Display on** dropdown
3. Choose **"Quick Search Form"** from **Page** dropdown
4. Select **"Before Main Columns"** from **Container** dropdown
#### 7. Save the Widget
Click **"Save"** to create your zone widget.
## Cache Management
After creating zone widgets, you must clear specific Magento caches for the zone to appear on your frontend.
Clear these cache types:
* **Layouts**
* **Blocks HTML output**
* **Page Cache**
Navigate to **System > Cache Management** to clear these caches.
## Widget Placement Options
### Common Container Positions
| Container | Location | Use Case |
| ------------------- | ------------------- | ----------------------------- |
| Before Main Columns | Above main content | Hero zones, announcements |
| After Main Columns | Below main content | Related products, cross-sells |
| Sidebar Additional | Right sidebar | Recommendations, promotions |
| Content Top | Top of content area | Category banners, filters |
### Page-Specific Placements
| Page Type | Display On Setting | Common Zones |
| -------------- | --------------------- | -------------------------------- |
| Category Pages | Catalog Category View | Category recommendations |
| Product Pages | Catalog Product View | Related products, cross-sells |
| Search Results | Quick Search Form | Search-based recommendations |
| Homepage | CMS Home Page | Featured products, hero content |
| Cart Page | Checkout Cart Index | Upsells, abandoned cart recovery |
## Zone Widget Best Practices
### Naming Conventions
* Use descriptive widget titles with zone IDs
* Include page type in the title (e.g., "PC Zone CAT-01 Category Page")
* Maintain consistent naming across your site
### Performance Considerations
* **Limit widget count** - Too many zones can impact page load times
* **Use fallback blocks** - Provide content when PureClarity is unavailable
* **Test responsiveness** - Verify zones work across all devices
### Content Strategy
* **Match zone purposes** - Align widget placement with campaign goals
* **Consider user flow** - Place zones where they enhance user experience
* **Monitor performance** - Track zone effectiveness in PureClarity analytics
## Testing Your Zone Widget
After creating and caching:
1. **Visit the target page** to confirm the zone appears
2. **Check device responsiveness** if using display mode settings
3. **Verify zone ID matching** in PureClarity admin
4. **Test fallback content** by temporarily disabling campaigns
If your zone doesn't appear, enable [Zone Debug Mode](/integrations/magento/magento-2/zone-debug) to see zone placeholders and troubleshoot placement issues.
## Troubleshooting Widget Issues
### Widget Not Appearing
* Clear all relevant caches
* Verify layout update configuration
* Check store view assignment
* Confirm theme selection
### Zone Content Not Loading
* Verify zone ID matches campaign configuration
* Check PureClarity is enabled for the store view
* Review feed status and data synchronization
* Test with debug mode enabled
### Styling Issues
* Add custom CSS classes to the widget
* Check theme compatibility
* Adjust margin settings
* Review container positioning
For comprehensive zone troubleshooting, see [Why Zones Not Showing](/integrations/magento/magento-2/zones-not-showing).
## Related Resources
* [Zone Debug Mode](/integrations/magento/magento-2/zone-debug)
* [Default Zone Installation](/integrations/magento/magento-2/default-zone-installation)
* [Adding Zones Using HTML](/integrations/magento/magento-2/adding-zones-html)
# Category Attributes
Source: https://docs.pureclarity.com/integrations/magento/magento-2/category-attributes
Configuring PureClarity-specific category attributes in Magento 2.x for enhanced category-based recommendations
PureClarity adds custom attributes to Magento categories that enhance category-based recommendations and allow for more sophisticated category management within the personalization system.
## Accessing Category Attributes
To configure PureClarity attributes for a category:
1. Navigate to **Catalog > Categories** in Magento admin
2. **Select any category** from the tree
3. **Locate the "PureClarity" section** on the category edit page
## Category Attribute Fields
### Override Image
**Purpose:** Provide a category-specific image for PureClarity recommendations\
**Format:** Image URL\
**Use Case:** Customize category appearance in recommendation templates
**When to use override images:**
* **Brand consistency** - Match specific design requirements
* **Campaign alignment** - Use images that align with marketing campaigns
* **Template customization** - Provide images optimized for PureClarity templates
* **A/B testing** - Test different category representations
The override image URL will be included in the category feed sent to PureClarity. Most implementations use the standard category image, but this provides flexibility for specialized use cases.
**Configuration requirements:**
* **Template modification** required to utilize override images
* **URL format** should be absolute paths to image files
* **Image optimization** recommended for web performance
* **Responsive considerations** for different device sizes
To use override images effectively, you'll need to modify PureClarity templates in the PureClarity admin console. In standard implementations, PureClarity uses the category's default image.
### Exclude from Recommenders
**Purpose:** Remove categories from all PureClarity recommendation engines\
**Options:** Yes/No\
**Default:** No
**When to exclude categories:**
* **Administrative categories** - Internal organization that shouldn't be customer-facing
* **Hidden categories** - Categories used for brand feeds or special purposes
* **Deprecated categories** - Old category structures being phased out
* **Test categories** - Categories used for internal testing
* **Seasonal exclusions** - Out-of-season categories temporarily excluded
Excluded categories will not appear in any PureClarity category-based recommendations, including category suggestion widgets and category-driven campaigns.
## Category Recommendation Use Cases
### Category Browsing Enhancement
Categories with proper attributes help PureClarity provide:
* **Related category suggestions** when customers view specific categories
* **Cross-category recommendations** for similar or complementary categories
* **Category navigation aids** for better site exploration
### Brand and Season Organization
Category attributes support:
* **Brand-specific categorization** with custom images
* **Seasonal category management** with appropriate exclusions
* **Campaign-driven categories** with override images
### Template Integration
Custom category attributes enable:
* **Consistent branding** across recommendation templates
* **Flexible image management** independent of standard category images
* **Campaign-specific visuals** for promotional periods
## Image Management Best Practices
### Override Image Strategy
* **Consistent dimensions** - Use standardized image sizes across categories
* **Brand alignment** - Ensure images match overall brand aesthetic
* **Performance optimization** - Compress images for web delivery
* **Template coordination** - Design images to work with PureClarity templates
### File Management
* **CDN hosting** - Use content delivery networks for optimal performance
* **Version control** - Maintain organized image libraries
* **Backup strategies** - Keep copies of customized category images
* **Regular auditing** - Review and update images periodically
Store override images in a dedicated directory structure that mirrors your category hierarchy for easier management and maintenance.
## Exclusion Strategy
### Strategic Exclusions
**Administrative categories:**
* Brand organization categories (when used for feed purposes only)
* Internal classification systems
* Testing and development categories
**Temporary exclusions:**
* Seasonal categories during off-seasons
* Categories undergoing restructuring
* Categories with inventory issues
**Performance exclusions:**
* Categories with very few products
* Categories that don't convert well in recommendations
* Categories that confuse customer navigation
### Exclusion Impact Analysis
Monitor the effects of category exclusions on:
* **Overall recommendation performance**
* **Customer navigation patterns**
* **Category-based campaign effectiveness**
* **Site search behavior**
Category exclusions affect recommendation algorithms but don't impact standard Magento navigation or search functionality.
## Feed Integration
### Category Data in Feeds
PureClarity category attributes are included in:
* **Category feeds** sent to PureClarity servers
* **Real-time updates** when categories are modified
* **Manual feed refreshes** for bulk updates
### Feed Validation
Verify category attributes are properly transmitted:
1. **Check category feed status** in Magento dashboard
2. **Review feed logs** for attribute data inclusion
3. **Test recommendations** to confirm attribute impact
4. **Monitor template rendering** for override images
## Template Configuration
### Using Override Images
To implement override images in PureClarity templates:
1. **Access PureClarity admin console**
2. **Navigate to template editor**
3. **Modify category image references**
4. **Test template changes** across different categories
5. **Deploy template updates**
### Template Variables
When modifying templates, use appropriate variables for:
* **Standard category images** (default behavior)
* **Override images** (when specified)
* **Fallback logic** (when override images are unavailable)
Template modifications require technical expertise. Test thoroughly in staging environments before applying to production templates.
## Multi-Store Considerations
### Store-Specific Attributes
Category attributes can be configured differently across:
* **Store views** - Different languages or regions
* **Store websites** - Separate brand properties
* **Store groups** - Different customer segments
### Consistency Management
Maintain attribute consistency by:
* **Documenting standards** across store views
* **Regular auditing** of attribute configurations
* **Synchronized updates** for global changes
* **Store-specific customizations** when appropriate
## Bulk Management
### Mass Updates
For large category structures, consider:
* **Bulk exclusion** of category groups
* **Systematic image updates** for rebranding
* **Seasonal adjustments** across multiple categories
* **Campaign preparations** with coordinated changes
### Import/Export Functionality
Use Magento's standard import/export for:
* **Backing up** category attribute configurations
* **Bulk updating** PureClarity-specific attributes
* **Cross-environment** deployment of attribute settings
## Performance Monitoring
### Recommendation Analytics
Track the impact of category attributes on:
* **Category recommendation click-through rates**
* **Cross-category navigation patterns**
* **Customer engagement** with category-based content
* **Conversion rates** from category recommendations
### Image Performance
Monitor override image usage:
* **Load times** for category recommendation widgets
* **Image delivery** success rates
* **Template rendering** performance
* **Mobile optimization** effectiveness
## Troubleshooting Category Attributes
### Common Issues
**Override images not displaying:**
* Verify image URLs are accessible
* Check template configuration in PureClarity admin
* Confirm category feed includes override image data
* Test image URLs directly in browsers
**Categories not appearing in recommendations:**
* Check exclusion settings
* Verify category is enabled in Magento
* Confirm category has associated products
* Review campaign configuration in PureClarity
**Inconsistent category data:**
* Verify feed status and recent updates
* Check for caching issues in Magento
* Review indexing status for categories
* Confirm attribute values are properly saved
## Related Resources
### Feed Management
* [Types of Data Feeds](/integrations/magento/magento-2/types-of-feed) - Understanding category feed content
* [When Data Feeds Run](/integrations/magento/magento-2/when-feeds-run) - Category update timing
* [Feed Status](/integrations/magento/magento-2/feed-status) - Monitoring category data transmission
### Product Integration
* [Product Attributes](/integrations/magento/magento-2/product-attributes) - Related product-level customizations
* [Brand Feed Configuration](/integrations/magento/magento-2/enabling-brand-feed) - Category-based brand management
### Troubleshooting
* [Categories Not Updating](/integrations/magento/magento-2/products-not-updating) - Data synchronization issues
* [Feed Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors) - General feed problems
# Configuration Mode
Source: https://docs.pureclarity.com/integrations/magento/magento-2/configuration-mode
Understanding client-side vs server-side display modes in Magento 2.x and their impact on PureClarity recommendations
PureClarity offers two distinct display modes for rendering recommendations in Magento 2.x. Understanding these modes helps you choose the best approach for your specific requirements and technical constraints.
## Accessing Mode Configuration
Navigate to **Stores > Configuration > PureClarity** and locate the **"Mode"** section.
## Display Mode Options
### Client-Side Mode (Default)
**Recommended for:** Most standard implementations\
**Processing location:** PureClarity servers\
**Template management:** PureClarity admin console
In client-side mode, all recommendation data and HTML rendering occurs on PureClarity's servers. When a customer visits your site, JavaScript requests recommendations directly from PureClarity and displays them in real-time.
**How it works:**
1. **Page loads** with PureClarity JavaScript
2. **Recommendations requested** from PureClarity servers
3. **Complete HTML returned** and inserted into zones
4. **No additional Magento processing** required
**Advantages:**
* **Faster page loads** - No server-side processing delays
* **Reduced server load** - Offloads recommendation processing
* **Real-time updates** - Content changes immediately in PureClarity admin
* **Global CDN delivery** - Fast content delivery worldwide
* **Simplified implementation** - No complex server-side customizations
Client-side mode is the standard implementation and works well for most e-commerce sites without complex pricing rules or customer-specific restrictions.
### Server-Side Mode
**Recommended for:** Complex pricing, custom restrictions, or advanced customizations\
**Processing location:** Your Magento server\
**Template management:** Magento templates with PureClarity data
In server-side mode, PureClarity provides product SKUs and recommendation logic, but Magento handles the final data assembly and HTML rendering using current store data.
**How it works:**
1. **Page loads** and triggers server-side recommendation request
2. **PureClarity returns SKUs** and recommendation metadata
3. **Magento processes SKUs** with current pricing, inventory, and rules
4. **Custom templates render** final HTML with live data
5. **Complete recommendations** inserted into page
**Advantages:**
* **Live pricing integration** - Real-time price calculations
* **Customer-specific data** - Personalized pricing and availability
* **Complex business rules** - Custom logic and restrictions
* **Full template control** - Complete customization of appearance
* **Inventory accuracy** - Current stock levels reflected
Server-side mode requires additional development work and may impact page load performance. Use only when client-side mode cannot meet your requirements.
## When to Choose Each Mode
### Client-Side Mode Best For:
* **Standard pricing** - Fixed prices without complex rules
* **Public catalogs** - Same prices and availability for all customers
* **Fast implementation** - Quick setup without custom development
* **High traffic sites** - Reduced server load requirements
* **Global audiences** - CDN-delivered content for speed
### Server-Side Mode Best For:
* **Dynamic pricing** - Customer group pricing, volume discounts
* **B2B features** - Account-specific pricing and catalogs
* **Complex inventory** - Multi-location, reserved, or allocated stock
* **Custom restrictions** - Product visibility rules beyond standard Magento
* **Advanced integrations** - ERP systems, custom pricing engines
Start with client-side mode unless you have specific requirements that demand server-side processing. You can always migrate to server-side mode later if needed.
## Technical Implementation Details
### Client-Side Implementation
```html theme={null}
```
**JavaScript loading:**
* PureClarity script loads asynchronously
* Recommendations request product data from PureClarity
* Complete HTML inserted into zone containers
* No Magento processing required
### Server-Side Implementation
```html theme={null}
```
**Processing flow:**
* Magento processes recommendation requests
* SKUs retrieved from PureClarity
* Product data loaded from Magento database
* Custom templates render final output
* HTML inserted into zone containers
Server-side mode requires additional template development and configuration. See [Server-Side Mode Guide](/integrations/magento/magento-2/serverside) for detailed implementation instructions.
## Performance Considerations
### Client-Side Performance
**Advantages:**
* **Faster initial page load** - No server-side processing delay
* **Cached content** - CDN delivery and browser caching
* **Parallel loading** - Recommendations load independently
* **Reduced server load** - Offloaded processing
**Considerations:**
* **JavaScript dependency** - Requires client-side JavaScript
* **Network requests** - Additional API calls to PureClarity
* **Content delay** - Slight delay before recommendations appear
### Server-Side Performance
**Advantages:**
* **No client dependencies** - Works without JavaScript
* **SEO friendly** - Server-rendered content for crawlers
* **Complete control** - Full optimization possibilities
**Considerations:**
* **Server processing** - Additional load on Magento servers
* **Database queries** - Extra product data retrieval
* **Page load impact** - Potential slowdown during processing
* **Scaling challenges** - Increased resource requirements
## SEO and Accessibility
### Client-Side SEO
* **JavaScript-dependent** content may not be indexed
* **Asynchronous loading** can delay content visibility
* **Modern crawlers** generally handle JavaScript well
* **Fallback content** can provide basic SEO value
### Server-Side SEO
* **Server-rendered** content is immediately indexable
* **No JavaScript dependency** for search engines
* **Complete control** over meta tags and structured data
* **Better accessibility** for non-JavaScript environments
For SEO-critical recommendation content, consider server-side mode or implement proper fallback content for client-side implementations.
## Migration Between Modes
### Client-Side to Server-Side
Migration requirements:
1. **Template development** for recommendation rendering
2. **Custom logic implementation** for pricing and rules
3. **Testing and validation** of recommendation accuracy
4. **Performance optimization** for server-side processing
### Server-Side to Client-Side
Migration considerations:
1. **Template simplification** - Remove server-side logic
2. **Pricing validation** - Ensure client-side pricing is acceptable
3. **Testing recommendations** - Verify recommendation quality
4. **Performance monitoring** - Check for improvement
## Configuration Best Practices
### Mode Selection Strategy
1. **Assess requirements** - Pricing complexity, customizations needed
2. **Evaluate technical resources** - Development capabilities
3. **Consider performance** - Server load vs. page speed priorities
4. **Plan for scalability** - Future growth and complexity
### Implementation Guidelines
* **Start simple** - Begin with client-side unless requirements dictate otherwise
* **Test thoroughly** - Validate recommendations in both modes during evaluation
* **Monitor performance** - Track impact on site speed and server load
* **Document decisions** - Record reasoning for mode selection
## Troubleshooting Mode Issues
### Client-Side Troubleshooting
**Recommendations not loading:**
* Check JavaScript console for errors
* Verify PureClarity script loading
* Confirm zone placement HTML
* Test network connectivity to PureClarity
**Content not updating:**
* Clear browser cache
* Check PureClarity admin for campaign changes
* Verify feed data is current
* Test with different browsers
### Server-Side Troubleshooting
**Slow page loads:**
* Profile server-side processing time
* Optimize database queries
* Check server resource usage
* Review custom template efficiency
**Incorrect data display:**
* Verify Magento product data
* Check custom pricing logic
* Test template rendering
* Validate recommendation SKUs
## Related Configuration
### Zone Implementation
* [Adding Zones Using HTML](/integrations/magento/magento-2/adding-zones-html) - Direct template integration
* [Adding Zones Using Widgets](/integrations/magento/magento-2/adding-zones-widgets) - Widget-based placement
### Advanced Features
* [Server-Side Mode](/integrations/magento/magento-2/serverside) - Detailed server-side implementation
* [Product Attributes](/integrations/magento/magento-2/product-attributes) - Custom product data
* [Category Attributes](/integrations/magento/magento-2/category-attributes) - Category customizations
### Performance Monitoring
* [Dashboard Overview](/integrations/magento/magento-2/dashboard) - System performance metrics
* [Feed Status](/integrations/magento/magento-2/feed-status) - Data synchronization monitoring
# Customer Specific Prices
Source: https://docs.pureclarity.com/integrations/magento/magento-2/customer-specific-prices
How to display customer-specific pricing in PureClarity recommendations using server-side mode in Magento 2.x
Customer-specific pricing that goes beyond standard Magento customer group pricing requires server-side mode to display accurate prices in PureClarity recommendations. This ensures complex pricing logic is applied correctly for each customer.
## When Customer Specific Pricing is Needed
### Complex Pricing Scenarios
**Beyond standard customer group pricing:**
* **Individual customer negotiations** - Unique pricing per customer
* **Contract-based pricing** - Special agreements and terms
* **Volume discounts** - Complex tier pricing based on purchase history
* **Dynamic pricing** - Real-time price calculations
* **Regional variations** - Location-based pricing adjustments
* **B2B custom catalogs** - Customer-specific product visibility
### Standard vs Custom Pricing
| Standard Customer Group Pricing | Customer Specific Pricing |
| ------------------------------- | ------------------------------ |
| Predefined price tiers | Individually negotiated prices |
| Group-based discounts | Customer-unique discounts |
| Feed-based delivery | Real-time calculation |
| Client-side display | Server-side processing |
If your pricing fits within Magento's standard customer group system, consider using the "Send Customer Group Pricing" option in [Data Feeds & Indexing](/integrations/magento/magento-2/data-feeds-indexing) instead of server-side mode.
## Server-Side Mode Requirement
### Why Server-Side Mode is Necessary
**Technical limitations of client-side mode:**
* **Static pricing** - Only default prices sent in feeds
* **No real-time calculation** - Prices determined at feed generation
* **Limited personalization** - Cannot access current customer context
* **No complex logic** - Advanced pricing rules not supported
**Server-side mode capabilities:**
* **Real-time pricing** - Calculated when recommendations display
* **Customer context** - Access to current customer data
* **Complex logic** - Custom pricing rules and calculations
* **Live inventory** - Current stock levels and availability
* **Security** - Sensitive pricing logic stays on your server
Server-side mode requires additional development work and may impact page load performance. Only implement when customer-specific pricing is essential for your business model.
## Configuring Server-Side Mode
### 1. Enable Server-Side Mode
Navigate to **Stores > Configuration > PureClarity > Mode**:
1. Set **Mode** to **"Serverside"**
2. **Save configuration**
3. **Clear configuration cache**
For detailed mode configuration, see [Configuration Mode Guide](/integrations/magento/magento-2/configuration-mode).
### 2. Update Zone Implementation
Change zone HTML to use server-side syntax:
**Before (Client-side):**
```html theme={null}
```
**After (Server-side):**
```html theme={null}
```
All existing zones must be updated to use server-side HTML syntax. Mixing client-side and server-side zones on the same page can cause conflicts.
## Implementation Requirements
### 3. Custom Pricing Logic Development
Server-side mode requires custom development to implement your pricing logic:
**Development areas:**
* **Price calculation plugins** - Custom pricing algorithms
* **Customer context access** - Retrieving customer-specific data
* **Template customization** - Displaying calculated prices
* **Performance optimization** - Efficient price calculation
**Example implementation structure:**
```php theme={null}
// Custom plugin for price calculation
class CustomerSpecificPricing
{
public function afterGetFinalPrice($subject, $result)
{
$customer = $this->customerSession->getCustomer();
// Apply customer-specific pricing logic
return $this->calculateCustomPrice($customer, $result);
}
private function calculateCustomPrice($customer, $basePrice)
{
// Your custom pricing logic here
return $customPrice;
}
}
```
### 4. Template Customization
Customize PureClarity templates to display customer-specific pricing:
**Template development tasks:**
* **Price display logic** - Show appropriate prices for each customer
* **Formatting consistency** - Match site's price display standards
* **Currency handling** - Multi-currency support if needed
* **Responsive design** - Ensure templates work across devices
## Customer Group Pricing Alternative
### Standard Customer Group Support
Before implementing full server-side mode, consider if customer group pricing meets your needs:
**Magento customer group pricing:**
* **Predefined tiers** - Bronze, Silver, Gold customer levels
* **Percentage discounts** - Group-based discount percentages
* **Fixed price tiers** - Set prices for customer groups
* **Catalog rules** - Automated pricing rules
**Enable customer group pricing:**
1. Navigate to **Stores > Configuration > PureClarity > Data Feeds / Indexing**
2. Set **"Product Feed - Send Customer Group Pricing"** to **"Yes"**
3. **Save configuration**
4. **Run product feeds** to include group pricing
Customer group pricing provides personalization without the complexity of server-side mode. Test this approach first to see if it meets your requirements.
## Performance Considerations
### Server-Side Mode Impact
**Performance implications:**
* **Increased server load** - Price calculations on each recommendation request
* **Database queries** - Additional customer data retrieval
* **Page load time** - Potential delays during price calculation
* **Caching challenges** - Customer-specific content difficult to cache
**Optimization strategies:**
* **Efficient queries** - Optimize database performance
* **Caching layers** - Cache pricing data where possible
* **Asynchronous loading** - Load recommendations after initial page
* **Resource monitoring** - Track server performance impact
### Scaling Considerations
**High-traffic planning:**
* **Server resources** - Adequate CPU and memory allocation
* **Database optimization** - Indexed customer and pricing tables
* **Load balancing** - Distribute recommendation processing
* **Monitoring setup** - Track performance metrics
## Testing and Validation
### 5. Test Customer-Specific Pricing
**Testing workflow:**
1. **Create test customers** with different pricing requirements
2. **Configure pricing rules** for test scenarios
3. **Test recommendations** for each customer type
4. **Verify price accuracy** against expected calculations
5. **Test performance** under load
**Validation checklist:**
* [ ] **Correct prices** displayed for each customer
* [ ] **Price formatting** matches site standards
* [ ] **Currency handling** works correctly
* [ ] **Performance acceptable** under normal load
* [ ] **Error handling** graceful for pricing failures
### 6. Monitor Performance Impact
**Key metrics to track:**
* **Page load times** - Compare before and after server-side implementation
* **Server response times** - Monitor recommendation processing speed
* **Database performance** - Track query execution times
* **Error rates** - Monitor pricing calculation failures
## Advanced Implementation
### Integration with External Systems
**ERP system integration:**
* **Real-time pricing APIs** - Connect to external pricing systems
* **Inventory synchronization** - Live stock level updates
* **Contract management** - Dynamic contract-based pricing
* **Account management** - Customer-specific catalog access
**API development considerations:**
* **Timeout handling** - Graceful fallbacks for slow APIs
* **Error recovery** - Fallback pricing when external systems fail
* **Caching strategies** - Balance freshness with performance
* **Security** - Secure API communication
### Custom Business Logic
**Advanced pricing scenarios:**
* **Time-based pricing** - Different prices by time of day/season
* **Quantity breaks** - Volume-based pricing tiers
* **Bundle pricing** - Special pricing for product combinations
* **Geographic pricing** - Location-based price variations
## Troubleshooting Customer Pricing
### Common Issues
**Prices not updating:**
* Verify server-side mode is enabled
* Check custom pricing logic implementation
* Review database queries for customer data
* Test with different customer accounts
**Performance problems:**
* Profile price calculation performance
* Optimize database queries
* Implement appropriate caching
* Monitor server resource usage
**Display inconsistencies:**
* Check template customizations
* Verify price formatting logic
* Test across different devices
* Validate currency handling
### Debug Testing
**Testing customer-specific scenarios:**
1. **Enable debug mode** to visualize zones
2. **Test with known customer accounts**
3. **Verify price calculations** manually
4. **Check server logs** for processing errors
5. **Monitor network requests** for API calls
## Related Resources
### Configuration Guides
* [Configuration Mode](/integrations/magento/magento-2/configuration-mode) - Client-side vs server-side mode
* [Data Feeds & Indexing](/integrations/magento/magento-2/data-feeds-indexing) - Customer group pricing option
* [Server-Side Mode](/integrations/magento/magento-2/serverside) - Detailed server-side implementation
### Implementation Support
* [Adding Zones Using HTML](/integrations/magento/magento-2/adding-zones-html) - Zone syntax for server-side mode
* [Zone Debug Mode](/integrations/magento/magento-2/zone-debug) - Testing zone placement
### Troubleshooting
* [Zones Not Showing](/integrations/magento/magento-2/zones-not-showing) - Zone display issues
* [Products Not Updating](/integrations/magento/magento-2/products-not-updating) - Data synchronization problems
## Summary
Customer-specific pricing in PureClarity recommendations requires:
1. **Server-side mode** configuration for real-time price calculation
2. **Custom development** to implement pricing logic
3. **Template customization** for proper price display
4. **Performance optimization** to handle additional processing
5. **Thorough testing** to ensure accuracy and performance
Consider standard customer group pricing as a simpler alternative before implementing full server-side customization. The complexity of server-side mode is justified when your pricing requirements cannot be met through standard Magento customer group functionality.
# Magento 2.x Dashboard
Source: https://docs.pureclarity.com/integrations/magento/magento-2/dashboard
Complete overview of the PureClarity dashboard features and functionality in Magento 2.x
Once your [PureClarity signup](/integrations/magento/magento-2/free-trial-signup) is complete and your store is configured, the dashboard page displays comprehensive information about your PureClarity setup, including next steps, data feed status, and performance metrics.
## Header Navigation
The dashboard header provides quick access to essential tools and resources:
1. **Settings** – Navigate to the PureClarity configuration page within Magento
2. **Documentation** – Access the complete PureClarity Magento 2 extension documentation
3. **Support** – Opens email to [support@pureclarity.com](mailto:support@pureclarity.com) with pre-filled site information
## Next Steps
The Next Steps section provides personalized recommendations and tasks to help you maximize PureClarity's value. These suggestions update dynamically based on your setup progress and usage patterns.
Check back regularly as these recommendations change based on your store's performance and new feature releases.
## Free Trial Status
If you're on a free trial, this section displays:
* Days remaining in your trial period
* Quick link to upgrade your subscription
* Trial usage statistics
## Performance Overview
Key performance indicators are displayed for two time periods: **today** and **last 30 days**:
* **Impressions** - Total page views recorded by PureClarity
* **Sessions** - Number of unique customer sessions
* **Conversion Rate** - Percentage of sessions that resulted in orders
* **Sales Total** - Total order value for the period
* **Orders** - Total number of orders placed
* **Recommender Product Total** - Sales attributed to PureClarity recommendations
These metrics help you understand PureClarity's impact on your store's performance and customer engagement.
## Zones Management
This section allows you to install default Zone widgets across your store. Zones are designated areas where PureClarity displays personalized content and recommendations.
For detailed zone installation instructions, see [Default Zone Installation](/integrations/magento/magento-2/default-zone-installation).
## Extension Review
This call-to-action provides a direct link to the Magento Marketplace where you can review the PureClarity extension and share your experience with other merchants.
## Feeds Status
The feeds section displays the current status of all data synchronization feeds and provides manual feed execution options. This ensures your product data, customer information, and order history stay synchronized with PureClarity.
If any feeds show error status, check the [Feed Status documentation](/integrations/magento/magento-2/feed-status) for troubleshooting guidance.
# Data Feeds & Indexing Configuration
Source: https://docs.pureclarity.com/integrations/magento/magento-2/data-feeds-indexing
Comprehensive guide to configuring data feeds and indexing settings in Magento 2.x for optimal PureClarity performance
The Data Feeds & Indexing section controls how and when your store data is synchronized with PureClarity. These settings determine feed schedules, content inclusion, and real-time update behavior.
## Accessing Configuration
Navigate to **Stores > Configuration > PureClarity** and expand the **"Data Feeds / Indexing"** section.
## Core Feed Settings
### Product Indexing Enabled
**Purpose:** Controls real-time product updates (delta indexing)\
**Options:** Yes/No\
**Default:** Yes\
**Recommended:** Yes
When enabled, product changes are automatically detected and sent to PureClarity within minutes through Magento's indexing system.
Product indexing enables near real-time synchronization of product changes, ensuring recommendations stay current with inventory and pricing updates.
**Benefits of enabling:**
* **Real-time updates** - Product changes reflected within 1-2 minutes
* **Inventory accuracy** - Stock status updates immediately
* **Price synchronization** - Pricing changes appear in recommendations quickly
* **Reduced manual effort** - Automatic change detection and transmission
For detailed information about indexing, see [When Data Feeds Run](/integrations/magento/magento-2/when-feeds-run).
### Daily Feed Enabled
**Purpose:** Controls scheduled full data synchronization\
**Options:** Yes/No\
**Default:** Yes\
**Recommended:** Yes
Enables nightly full feed transmission at 3:00 AM, providing complete data refresh and backup to real-time indexing.
**Why keep enabled:**
* **Data consistency** - Full refresh ensures complete accuracy
* **Backup mechanism** - Catches any missed real-time updates
* **Comprehensive sync** - Includes data not covered by indexing
* **Error recovery** - Resolves any synchronization issues
Disabling daily feeds may lead to data inconsistencies over time. Only disable if you have specific performance requirements and alternative synchronization methods.
## Pricing Configuration
### Product Feed - Send Customer Group Pricing
**Purpose:** Include customer group-specific pricing in feeds\
**Options:** Yes/No\
**Default:** No
When enabled, customer group pricing rules are included in product feeds, allowing personalized pricing in recommendations.
**When to enable:**
* **B2B stores** with customer group discounts
* **Membership programs** with tiered pricing
* **Volume pricing** based on customer categories
* **Regional pricing** variations
**Impact of enabling:**
* **Larger feed sizes** - Additional pricing data increases transmission time
* **Complex processing** - More data to manage and update
* **Enhanced personalization** - Better pricing accuracy for customers
* **Improved conversions** - Accurate pricing in recommendations
For complex pricing scenarios that can't be handled through customer group pricing, consider using [Server-Side Mode](/integrations/magento/magento-2/configuration-mode) instead.
### Customer-Specific Pricing
For highly customized pricing that goes beyond standard customer groups, you'll need to use server-side mode. See [Customer Specific Prices](/integrations/magento/magento-2/customer-specific-prices) for implementation details.
## Brand Feed Configuration
### Brand Feed Enabled
**Purpose:** Controls brand data transmission\
**Options:** Yes/No\
**Default:** No
Enables brand feed functionality when you've configured brand categories.
**Prerequisites for enabling:**
* Brand category structure created
* Brand parent category selected (see below)
* Products assigned to brand categories
* Brand images configured
### Brand Parent Category
**Purpose:** Designates which category contains brand subcategories\
**Options:** Category dropdown\
**Default:** Empty
Select the parent category that contains your brand structure. All first-level subcategories will be treated as individual brands.
The brand parent category must be configured before enabling brand feeds. See [Enabling Brand Feeds](/integrations/magento/magento-2/enabling-brand-feed) for complete setup instructions.
## Data Filtering Options
### Excluded Product Attributes
**Purpose:** Prevent sensitive product attributes from being sent to PureClarity\
**Options:** Multi-select attribute list\
**Default:** Empty
**Common exclusions:**
* **Internal codes** - SKU prefixes, internal categories
* **Supplier information** - Vendor details, cost prices
* **Administrative data** - Internal notes, purchase information
* **Sensitive content** - Proprietary descriptions, competitive data
**Security considerations:**
* **Data privacy** - Exclude personal or sensitive information
* **Competitive protection** - Prevent exposure of internal data
* **Compliance requirements** - Meet data protection regulations
* **Feed optimization** - Reduce unnecessary data transmission
Carefully review excluded attributes to ensure they don't impact recommendation quality. Some attributes may be valuable for personalization algorithms.
### Exclude Out of Stock Products From Recommenders
**Purpose:** Hide unavailable products from recommendations\
**Options:** Yes/No\
**Default:** No
When enabled, out-of-stock products are flagged as excluded, preventing them from appearing in recommendations.
**Considerations for enabling:**
* **Customer experience** - Prevents frustration with unavailable products
* **Conversion optimization** - Focuses recommendations on purchasable items
* **Inventory management** - Reduces promotion of unavailable stock
**Considerations for disabling:**
* **Product discovery** - Customers can see full catalog
* **Back-in-stock notifications** - Maintains product visibility
* **Seasonal planning** - Shows upcoming availability
Consider your inventory turnover rate and customer expectations when configuring this setting. Fast-moving inventory may benefit from exclusion, while seasonal items might stay visible.
## Performance Optimization
### Feed Scheduling Strategy
**Optimal configuration for most stores:**
* **Product Indexing:** Enabled (real-time updates)
* **Daily Feed:** Enabled (comprehensive backup)
* **Customer Group Pricing:** As needed for business model
* **Brand Feed:** Enabled if using brand recommendations
### Indexer Management
Ensure PureClarity indexers are configured correctly:
1. Navigate to **System > Index Management**
2. Set PureClarity indexers to **"Update by Schedule"**
3. Monitor indexer status regularly
## Monitoring Feed Performance
### Key Metrics to Track
* **Feed completion time** - Monitor for performance degradation
* **Error rates** - Watch for synchronization failures
* **Data accuracy** - Verify product information matches store
* **Recommendation quality** - Check for data-related issues
### Regular Maintenance Tasks
* **Review excluded attributes** quarterly
* **Monitor brand category structure** for organization changes
* **Validate customer group pricing** accuracy
* **Check indexer status** weekly
## Troubleshooting Configuration Issues
### Common Problems
**Feeds not running:**
* Verify daily feed and indexing are enabled
* Check Magento cron job configuration
* Review indexer settings (Update by Schedule)
* Monitor system logs for errors
**Pricing inconsistencies:**
* Check customer group pricing configuration
* Verify pricing rules in Magento
* Consider server-side mode for complex pricing
* Test with different customer groups
**Brand feed issues:**
* Confirm brand parent category is selected
* Verify brand category structure
* Check brand feed enabled setting
* Validate product assignments to brands
**Performance problems:**
* Review excluded attributes to reduce feed size
* Monitor server resources during feed processing
* Consider disabling customer group pricing if not needed
* Optimize indexer scheduling
## Related Configuration
### Integration Points
Data feed settings work with:
* [Feed Status Monitoring](/integrations/magento/magento-2/feed-status) - Track feed execution
* [Types of Data Feeds](/integrations/magento/magento-2/types-of-feed) - Understanding feed content
* [Brand Feed Configuration](/integrations/magento/magento-2/enabling-brand-feed) - Brand setup requirements
### Advanced Features
* [Server-Side Mode](/integrations/magento/magento-2/serverside) - Complex pricing scenarios
* [Product Attributes](/integrations/magento/magento-2/product-attributes) - Custom product data
* [Customer Specific Prices](/integrations/magento/magento-2/customer-specific-prices) - Advanced pricing
## Best Practices Summary
### Recommended Settings
* **Enable product indexing** for real-time updates
* **Keep daily feeds enabled** for data consistency
* **Use customer group pricing** only when necessary
* **Configure brand feeds** if using brand recommendations
* **Exclude sensitive attributes** for security
* **Monitor out-of-stock exclusion** impact on recommendations
### Performance Optimization
* **Schedule feeds during low traffic** periods
* **Exclude unnecessary attributes** to reduce feed size
* **Monitor indexer performance** regularly
* **Test configuration changes** in staging environments
### Security Considerations
* **Review attribute exclusions** regularly
* **Protect sensitive data** from transmission
* **Monitor access** to configuration settings
* **Document configuration decisions** for compliance
# Magento 2.x - Default Zone Installation
Source: https://docs.pureclarity.com/integrations/magento/magento-2/default-zone-installation
Quick setup guide for installing default PureClarity zones across your Magento store pages
PureClarity provides a set of default zones that can be quickly installed across your Magento store to get personalization up and running immediately.
## Accessing Zone Installation
On the PureClarity Dashboard page in Magento, locate the "Zones" box on the right side:
Click the **"Set up Zones"** button to open the installation popup.
## Installation Process
The "Install PureClarity Zones" popup allows you to configure zones for your active theme:
Ensure you select the correct active theme for your store in the "Theme" dropdown before proceeding.
1. Select your **active theme** from the dropdown
2. Click **"Install Zones"** to begin the process
3. Review the installation status and generated Zone IDs
## Default Zone Locations
The automatic installation creates zones across four key page types:
### Home Page
* **HP-01** (content.top)
* **HP-02** (content.bottom)
* **HP-03** (content.bottom)
* **HP-04** (content.bottom)
### Product Page
* **PP-01** (content.bottom)
* **PP-02** (content.bottom)
### Basket Page
* **BP-01** (content.bottom)
* **BP-02** (content.bottom)
### Order Confirmation Page
* **OC-01** (content.bottom)
* **OC-02** (content.bottom)
Each Zone ID corresponds to the same Zone ID in your PureClarity Admin dashboard. Zones will only display content once you have created and enabled campaigns in the PureClarity admin.
## Cache Clearing Required
After installation, you must clear the following Magento caches for zones to appear on your frontend:
* **Layouts**
* **Blocks HTML output**
* **Page Cache**
You can clear these caches from the Magento Admin under System > Tools > Cache Management, or via command line: `php bin/magento cache:clean layout block_html full_page`
## Custom Zone Setup
Beyond the default zones, you can add custom zones using two methods:
### Widget-Based Zones
For detailed instructions on creating zones using Magento widgets, see [Adding Zones Using Widgets](/integrations/magento/magento-2/adding-zones-widgets).
### HTML-Based Zones
For manual HTML implementation, see [Adding Zones Using HTML](/integrations/magento/magento-2/adding-zones-html).
Zones will remain invisible until you create and activate campaigns in the PureClarity admin dashboard that target these specific zone locations.
# Enabling the Brand Feed
Source: https://docs.pureclarity.com/integrations/magento/magento-2/enabling-brand-feed
How to configure and enable the brand feed in Magento 2.x using category-based brand management
The PureClarity Magento extension handles brand feeds through a category-based approach, allowing you to organize brands as a category hierarchy with dedicated brand pages and product associations.
## Setting Up Brand Categories
### Create Brand Structure
1. **Create a parent category** for all brands (e.g., "Brands")
2. **Add subcategories** for each individual brand under the parent
3. **Configure visibility** - categories can be hidden from menus but must remain **enabled**
4. **Add products** to their respective brand categories
Brand categories can be hidden from navigation menus while remaining enabled for feed purposes. This keeps your main navigation clean while still organizing brand data.
### Brand Category Requirements
Each brand category should include:
* **Name** - The brand display name
* **Image** - Brand logo or representative image (required for full functionality)
* **Products** - All products belonging to that brand
* **Enabled status** - Must be enabled even if hidden from menu
Both brand name and image are required to activate brand recommender and search functionality in PureClarity. Without both elements, brand features may not work properly.
## Configuring the Brand Feed
### Enable Brand Feed in Configuration
1. Navigate to **Stores > Configuration > PureClarity**
2. Go to the **Data/Feed Indexing** section
3. Select your brand parent category from the **"Brand Parent Category"** dropdown
This configuration tells PureClarity to treat all first-level children of the selected category as individual brands.
### Brand Feed Behavior
Once configured:
* **All subcategories** under the parent become brand entities
* **Product associations** are automatically mapped to brands
* **Brand data** is included in nightly feeds
* **Manual feeds** can include brand data on-demand
The category hierarchy approach allows for flexible brand management and easy addition of new brands through standard Magento category creation.
## Brand Data Structure
### What's Included in Brand Feed
The brand feed sends the following data to PureClarity:
**Brand Information:**
* Brand name (from category name)
* Brand identifier (from category ID)
* Brand image (from category image)
* Brand description (from category description)
**Product Associations:**
* Products assigned to each brand category
* Product-brand relationships for recommendations
* Brand-based filtering and search data
## Feed Execution
### Automatic Brand Feed Sending
Brand feeds are included in:
* **Nightly scheduled feeds** (3:00 AM by default)
* **Manual feed execution** when brand feed is selected
* **Real-time updates** when brand categories or products change
### Manual Brand Feed Execution
To manually send brand feed data:
1. Navigate to **PureClarity Dashboard** in Magento admin
2. Click **"Run Feeds Manually"**
3. Select **Brand Feed** from the options
4. Click **"Run feeds now"**
Manual feeds are useful when you've made significant changes to your brand structure or added new brands and want immediate synchronization.
## Brand Categories vs. Regular Categories
| Aspect | Brand Categories | Regular Categories |
| ---------------- | ----------------------- | --------------------------- |
| **Purpose** | Brand organization | Product organization |
| **Visibility** | Can be hidden from menu | Usually visible |
| **Structure** | Flat (parent → brands) | Hierarchical (deep nesting) |
| **Feed** | Dedicated brand feed | Category feed |
| **Requirements** | Must have image | Image optional |
## Best Practices
### Category Organization
* **Use clear naming** - Brand names should match actual brand names
* **Maintain consistency** - Use consistent image sizes and formats
* **Keep structure flat** - Avoid sub-subcategories under brands
* **Regular maintenance** - Update brand images and descriptions regularly
### Product Assignment
* **Single brand assignment** - Products should typically belong to one brand
* **Complete coverage** - Ensure all branded products are assigned
* **Regular auditing** - Check for unassigned branded products
Products assigned to multiple brand categories may cause confusion in recommendations. Use clear brand assignment rules.
## Troubleshooting Brand Feeds
### Common Issues
**Brand feed not appearing:**
* Verify parent category is selected in configuration
* Ensure brand categories are enabled
* Check that products are assigned to brand categories
**Missing brand images:**
* Upload images to brand categories
* Verify image file formats (JPG, PNG, WebP)
* Clear Magento cache after image updates
**Incomplete brand data:**
* Check category descriptions are populated
* Verify product assignments
* Review brand feed status in dashboard
For feed status monitoring, see [Feed Status Guide](/integrations/magento/magento-2/feed-status).
For general feed scheduling, see [When Data Feeds Run](/integrations/magento/magento-2/when-feeds-run).
## Related Resources
* [Types of Data Feeds](/integrations/magento/magento-2/types-of-feed)
* [Category Attributes](/integrations/magento/magento-2/category-attributes)
* [Feed Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors)
# Environment & Credentials
Source: https://docs.pureclarity.com/integrations/magento/magento-2/environment-credentials
Understanding and configuring PureClarity environment and credential settings in Magento 2.x
The Environment & Credentials section contains the essential settings that connect your Magento store to PureClarity's system. These settings are typically configured automatically during signup but can be managed manually when needed.
## Configuration Location
Navigate to **Stores > Configuration > PureClarity** to access the Environment & Credentials settings.
These settings are populated automatically when you sign up through the PureClarity dashboard page. Manual changes are rarely needed during normal operation.
## Configuration Fields
### Enabled
**Purpose:** Master switch for PureClarity functionality\
**Options:** Yes/No\
**Default:** Yes (after signup)
When set to **"No"**, PureClarity will:
* Stop displaying zones on the frontend
* Disable daily feed execution
* Stop real-time product and category indexing
* Maintain configuration but suspend all operations
Disabling PureClarity will immediately stop all personalization features and data synchronization. Use this setting carefully.
### Access Key
**Purpose:** Public identifier for your PureClarity store\
**Format:** Alphanumeric string\
**Security:** Safe to share with PureClarity support
The Access Key identifies your specific PureClarity store and is used for:
* API authentication
* Feed submission
* Zone content retrieval
* Analytics tracking
Access Keys are store-specific. Each Magento store view connected to PureClarity has its own unique Access Key.
### Secret Key
**Purpose:** Private authentication credential\
**Format:** Alphanumeric string\
**Security:** Highly confidential - never share
The Secret Key provides secure authentication for:
* Data feed encryption
* API request validation
* Account verification
* Secure data transmission
Never share your Secret Key with anyone outside your organization. Treat it like a password and store it securely.
### Region
**Purpose:** Determines which PureClarity servers to connect to\
**Options:** USA / Europe\
**Impact:** Affects performance and data residency
The region setting controls:
* **Server endpoints** for API calls and feeds
* **Data storage location** for compliance requirements
* **Network latency** and connection performance
* **Service availability** and redundancy
Choose the region closest to your primary customer base for optimal performance. This setting cannot be changed after account creation.
## Configuration Sources
### Automatic Configuration
Settings are populated automatically when:
* **Signing up** through the PureClarity dashboard
* **Linking existing stores** during setup
* **Adding additional stores** to your account
### Manual Configuration
Manual entry may be needed for:
* **Account recovery** after configuration loss
* **Store migration** between environments
* **Multi-environment setup** (staging, production)
* **Troubleshooting** connection issues
## Security Best Practices
### Credential Management
* **Limit access** to Magento admin users who need it
* **Use different credentials** for staging and production
* **Rotate credentials** if compromise is suspected
* **Document access** for compliance purposes
### Environment Security
* **Use HTTPS** for all PureClarity communications
* **Restrict admin access** to configuration pages
* **Monitor configuration changes** in admin logs
* **Backup configurations** before making changes
Store Secret Keys in secure password managers or documentation systems. Never include them in code repositories or unsecured documents.
## Troubleshooting Connection Issues
### Verification Steps
1. **Check credentials** are correctly entered
2. **Verify region** matches your account setup
3. **Test network connectivity** to PureClarity servers
4. **Review error logs** for authentication failures
### Common Issues
**Authentication Errors:**
* Incorrect Access Key or Secret Key
* Wrong region configuration
* Network connectivity problems
* Account suspension or expiration
**Feed Failures:**
* Invalid credentials preventing data transmission
* Region mismatch causing connection timeouts
* Firewall blocking PureClarity server access
**Zone Content Missing:**
* Access Key mismatch preventing content retrieval
* Account disabled or suspended
* Incorrect region reducing performance
## Multi-Store Configuration
### Store View Settings
Each Magento store view requires:
* **Unique Access Key** for that specific store
* **Corresponding Secret Key** for the same store
* **Correct region** for your account
* **Individual enable/disable** control
### Shared Account Benefits
Multiple stores on one PureClarity account provide:
* **Unified billing** across all stores
* **Shared analytics** and reporting
* **Cross-store insights** and optimization
* **Centralized management** in PureClarity admin
While stores share an account, each maintains separate credentials and can be managed independently.
## Configuration Changes
### When to Update Settings
* **Account migration** to new regions
* **Security incidents** requiring credential rotation
* **Store consolidation** or separation
* **Environment changes** (staging to production)
### Change Process
1. **Backup current settings** before making changes
2. **Update credentials** in Magento configuration
3. **Save configuration** and clear relevant caches
4. **Test functionality** to verify successful connection
5. **Monitor feeds and zones** for proper operation
### Post-Change Validation
* Check feed status in dashboard
* Verify zones load correctly
* Test personalization features
* Monitor error logs for issues
## Related Configuration
### Dependent Settings
Environment & Credentials affect:
* [Feed Status](/integrations/magento/magento-2/feed-status) - Connection required for feed transmission
* [Dashboard Overview](/integrations/magento/magento-2/dashboard) - Credentials needed for data display
* [Zone Configuration](/integrations/magento/magento-2/zone-debug) - Access Key required for content retrieval
### Integration Points
These settings integrate with:
* **Data Feed Indexing** - Credentials authenticate feed submission
* **Zone Display** - Access Key retrieves personalized content
* **Analytics Tracking** - Account identification for proper attribution
## Support and Recovery
If you lose access to your credentials:
1. **Contact PureClarity support** with account details
2. **Verify account ownership** through alternative means
3. **Request credential reset** if necessary
4. **Update Magento configuration** with new credentials
5. **Test full functionality** after restoration
Keep your PureClarity account contact information current to facilitate credential recovery if needed.
# Extending Feed Data
Source: https://docs.pureclarity.com/integrations/magento/magento-2/extending-feed
Developer guide for extending and customizing PureClarity feed data in Magento 2.x through plugins and custom implementations
This developer guide explains how to extend PureClarity's feed process in Magento 2.x to add custom data or modify existing feed content. Use these techniques to integrate custom fields, modify data processing, or enhance feed functionality.
## Overview of Feed Extension
### When to Extend Feeds
**Common extension scenarios:**
* **Custom product attributes** not included in standard feeds
* **Modified pricing logic** for specific business rules
* **Additional product data** from external systems
* **Custom category information** beyond standard attributes
* **Brand data enhancement** with custom fields
* **User data integration** from CRM systems
### Extension Approach
**Recommended method:** Use Magento plugins for clean, maintainable extensions
* **Non-invasive** - Doesn't modify core PureClarity code
* **Upgrade-safe** - Survives extension updates
* **Maintainable** - Clear separation of custom logic
* **Testable** - Isolated functionality for testing
Always use plugins rather than class rewrites or core modifications to ensure compatibility with future updates.
## Feed Architecture
### Extension Points
Each feed type provides two main extension points:
**Feed Data Handler**
* **Purpose:** Gathers data from Magento using collections
* **Extension use:** Modify data collection logic, add joins, filter data
* **Method:** Plugin the collection building methods
**Row Data Handler**
* **Purpose:** Transforms Magento data into PureClarity feed format
* **Extension use:** Add custom fields, modify data format, apply business rules
* **Method:** Plugin the data transformation methods
### Feed Types and Classes
#### Product Feed
**Feed Data Handler:** `Pureclarity\Core\Model\Feed\Type\Product\FeedData`
* **Key method:** `buildCollection()` - Returns product collection
**Row Data Handler:** `Pureclarity\Core\Model\Feed\Type\Product\RowData`
* **Key method:** `getRowData()` - Returns formatted product data array
**Specialized row handlers:**
* Located in `Pureclarity\Core\Model\Feed\Type\Product\RowDataHandlers\*`
* Individual handlers for specific data aspects (pricing, images, attributes)
#### Category Feed
**Feed Data Handler:** `Pureclarity\Core\Model\Feed\Type\Category\FeedData`
* **Key method:** `buildCategoryCollection()` - Returns category collection
**Row Data Handler:** `Pureclarity\Core\Model\Feed\Type\Category\RowData`
* **Key method:** `getRowData()` - Returns formatted category data array
#### Brand Feed
**Feed Data Handler:** `Pureclarity\Core\Model\Feed\Type\Brand\FeedData`
* **Key method:** `buildBrandCollection()` - Returns brand collection
**Row Data Handler:** `Pureclarity\Core\Model\Feed\Type\Brand\RowData`
* **Key method:** `getRowData()` - Returns formatted brand data array
#### User Feed
**Feed Data Handler:** `Pureclarity\Core\Model\Feed\Type\User\FeedData`
* **Key method:** `buildCustomerCollection()` - Returns customer collection
**Row Data Handler:** `Pureclarity\Core\Model\Feed\Type\User\RowData`
* **Key method:** `getRowData()` - Returns formatted user data array
#### Order History Feed
**Feed Data Handler:** `Pureclarity\Core\Model\Feed\Type\Order\FeedData`
* **Key method:** `buildOrderCollection()` - Returns order collection
**Row Data Handler:** `Pureclarity\Core\Model\Feed\Type\Order\RowData`
* **Key method:** `getRowData()` - Returns formatted order data array
## Implementation Examples
### Basic Product Data Extension
**Scenario:** Add a custom product field to the feed
**1. Create di.xml configuration:**
```xml theme={null}
```
**2. Create the plugin class:**
```php theme={null}
getCustomFieldValue($subject);
return $result;
}
/**
* Get custom field value for current product
*
* @param RowData $subject
* @return string
*/
private function getCustomFieldValue(RowData $subject)
{
// Your custom logic here
return 'Custom Value';
}
}
```
### Advanced Product Collection Modification
**Scenario:** Add custom data joins to product collection
**1. Plugin the collection builder:**
```xml theme={null}
```
**2. Implement collection modification:**
```php theme={null}
getSelect()->joinLeft(
['custom_table' => $result->getTable('custom_product_data')],
'e.entity_id = custom_table.product_id',
['custom_data' => 'custom_table.data_field']
);
// Add custom attributes
$result->addAttributeToSelect('custom_attribute');
return $result;
}
}
```
### Category Data Enhancement
**Scenario:** Add external system data to category feed
```php theme={null}
externalDataService = $externalDataService;
}
/**
* Enhance category data with external information
*
* @param RowData $subject
* @param array $result
* @return array
*/
public function afterGetRowData(RowData $subject, array $result)
{
$categoryId = $result['id'] ?? null;
if ($categoryId) {
// Get external data for this category
$externalData = $this->externalDataService->getCategoryData($categoryId);
// Add external data to feed
$result['external_description'] = $externalData['description'] ?? '';
$result['external_metadata'] = $externalData['metadata'] ?? [];
}
return $result;
}
}
```
### User Feed Customization
**Scenario:** Add CRM data to user feed
```php theme={null}
crmService = $crmService;
}
/**
* Add CRM data to user feed
*
* @param RowData $subject
* @param array $result
* @return array
*/
public function afterGetRowData(RowData $subject, array $result)
{
$customerId = $result['id'] ?? null;
if ($customerId) {
// Get CRM data for customer
$crmData = $this->crmService->getCustomerData($customerId);
// Add CRM information
$result['customer_tier'] = $crmData['tier'] ?? 'standard';
$result['lifetime_value'] = $crmData['ltv'] ?? 0;
$result['acquisition_channel'] = $crmData['channel'] ?? 'unknown';
}
return $result;
}
}
```
## Advanced Extension Patterns
### Conditional Data Addition
```php theme={null}
public function afterGetRowData(RowData $subject, array $result)
{
// Only add custom data for specific conditions
if ($this->shouldAddCustomData($result)) {
$result['custom_field'] = $this->getCustomData($result);
}
return $result;
}
private function shouldAddCustomData(array $productData): bool
{
// Custom logic to determine when to add data
return isset($productData['category_ids']) &&
in_array('premium_category_id', $productData['category_ids']);
}
```
### Performance-Optimized Extensions
```php theme={null}
public function afterGetRowData(RowData $subject, array $result)
{
// Batch process custom data to avoid N+1 queries
static $customDataCache = [];
$productId = $result['id'];
if (!isset($customDataCache[$productId])) {
// Load custom data in batches
$customDataCache = $this->loadCustomDataBatch($productId);
}
$result['custom_field'] = $customDataCache[$productId] ?? 'default_value';
return $result;
}
```
### Data Validation and Sanitization
```php theme={null}
public function afterGetRowData(RowData $subject, array $result)
{
// Validate and sanitize custom data
$customValue = $this->getCustomValue($result);
// Validate data format
if ($this->isValidCustomValue($customValue)) {
$result['custom_field'] = $this->sanitizeCustomValue($customValue);
}
return $result;
}
private function isValidCustomValue($value): bool
{
// Custom validation logic
return is_string($value) && strlen($value) <= 255;
}
private function sanitizeCustomValue(string $value): string
{
// Sanitize for PureClarity feed format
return htmlspecialchars(trim($value), ENT_QUOTES, 'UTF-8');
}
```
## Testing Feed Extensions
### Unit Testing Plugin Methods
```php theme={null}
plugin = new ProductFeedPlugin();
}
public function testAfterGetRowDataAddsCustomField()
{
$mockRowData = $this->createMock(\Pureclarity\Core\Model\Feed\Type\Product\RowData::class);
$inputData = ['id' => 123, 'name' => 'Test Product'];
$result = $this->plugin->afterGetRowData($mockRowData, $inputData);
$this->assertArrayHasKey('custom_field', $result);
$this->assertEquals('Custom Value', $result['custom_field']);
}
}
```
### Integration Testing
```php theme={null}
public function testCustomFieldAppearsInFeed()
{
// Create test product with custom data
$product = $this->createTestProduct();
// Generate feed data
$feedData = $this->feedProcessor->generateProductFeed();
// Verify custom field is included
$productData = $this->findProductInFeed($feedData, $product->getId());
$this->assertArrayHasKey('custom_field', $productData);
}
```
## Best Practices
### Performance Considerations
* **Minimize database queries** - Use collection modifications over individual lookups
* **Cache external API calls** - Avoid repeated API requests during feed generation
* **Batch operations** - Process multiple items together when possible
* **Monitor feed performance** - Track impact of customizations on feed speed
### Data Quality
* **Validate data formats** - Ensure custom data meets PureClarity requirements
* **Handle missing data** - Provide defaults for missing custom fields
* **Sanitize input** - Clean data to prevent feed corruption
* **Test edge cases** - Verify behavior with unusual data scenarios
### Maintainability
* **Document customizations** - Explain business logic and data sources
* **Use clear naming** - Make custom fields easily identifiable
* **Version control** - Track changes to feed extensions
* **Monitor for updates** - Verify compatibility with PureClarity updates
### Error Handling
* **Graceful degradation** - Feed should work even if custom data fails
* **Logging** - Log custom data processing for debugging
* **Exception handling** - Catch and handle external service failures
* **Fallback values** - Provide defaults when custom processing fails
## Debugging Feed Extensions
### Enable Debug Logging
1. Navigate to **PureClarity configuration**
2. Enable **Debug Logging**
3. Run feed processing
4. Review logs for custom data processing
### Log Custom Processing
```php theme={null}
public function afterGetRowData(RowData $subject, array $result)
{
try {
$customData = $this->getCustomData($result);
$result['custom_field'] = $customData;
// Log successful processing
$this->logger->info('Custom data added', [
'product_id' => $result['id'],
'custom_data' => $customData
]);
} catch (\Exception $e) {
// Log errors but don't break feed
$this->logger->error('Custom data processing failed', [
'product_id' => $result['id'],
'error' => $e->getMessage()
]);
}
return $result;
}
```
## Related Resources
### Development References
* [Magento Plugin Guide](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/plugins.html) - Official plugin documentation
* [Magento Collection Guide](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/searching-with-repositories.html) - Collection modification techniques
### PureClarity Integration
* [Data Feeds & Indexing](/integrations/magento/magento-2/data-feeds-indexing) - Understanding feed configuration
* [Types of Data Feeds](/integrations/magento/magento-2/types-of-feed) - Feed content and structure
* [Server-Side Mode](/integrations/magento/magento-2/serverside) - Server-side data processing
### Testing and Debugging
* [Magento Logs](/integrations/magento/magento-2/logs) - Debugging with PureClarity logs
* [Feed Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors) - Common feed issues
## Summary
Feed extension in PureClarity provides powerful customization options:
* **Plugin-based approach** for clean, maintainable extensions
* **Multiple extension points** for different types of customizations
* **Performance considerations** for large-scale implementations
* **Testing strategies** to ensure reliable custom functionality
* **Best practices** for maintainable, upgrade-safe customizations
Use these techniques to enhance PureClarity feeds with your specific business requirements while maintaining system performance and reliability.
# Feed Status Overview
Source: https://docs.pureclarity.com/integrations/magento/magento-2/feed-status
Understanding the different feed status indicators in Magento 2.x and how to interpret feed execution progress
The PureClarity dashboard in Magento provides real-time status updates for all data feeds. Understanding these status indicators helps you monitor feed health and identify issues quickly.
## Feed Status Indicators
### Not Sent
**When you'll see this:**
* Fresh installation before first feed execution
* Newly configured store views
* After clearing feed history
**What it means:** No feeds have been sent from your store to PureClarity yet.
**Next steps:** Run manual feeds or wait for the nightly scheduled execution.
***
### Waiting for Feed Run to Start
**When you'll see this:**
* Immediately after requesting manual feeds
* When feeds are queued but cron hasn't processed them yet
* During high-traffic periods with processing delays
**What it means:** Feeds have been requested but the cron job hasn't started processing them yet.
**Typical duration:** 1-2 minutes (cron runs every minute)
***
### In Progress / Waiting for Other Feeds
**When you'll see this:**
* During active feed processing
* When multiple feed types are queued (only one processes at a time)
**Status variations:**
* **"In Progress: X%"** - Shows completion percentage for the currently processing feed
* **"Waiting for other feeds to finish"** - Other feeds queued behind the active one
**What it means:** The feed runner cron job is actively processing feeds.
Processing time varies based on catalog size. Large catalogs may take several minutes to complete.
***
### Last Sent - DD/MM/YY
**When you'll see this:**
* After successful feed completion
* Normal operational state
**What it means:** Feeds have completed successfully and shows the last execution date.
**Information provided:**
* Date of last successful feed
* Confirmation that data is up-to-date in PureClarity
This is the status you want to see for normal operations. Regular timestamps indicate healthy feed processing.
***
### Error - Please See Logs
**When you'll see this:**
* Network connectivity issues
* Authentication problems
* Data validation errors
* Server resource limitations
**What it means:** An error occurred during feed transmission to PureClarity.
**Immediate actions:**
1. Check the [Magento system logs](/integrations/magento/magento-2/logs) for detailed error messages
2. Verify network connectivity to PureClarity servers
3. Confirm Access Key and Secret Key are correct
4. Review our [Feed Troubleshooting Guide](/integrations/magento/magento-2/feeds-failing-errors)
***
### Not Enabled
**When you'll see this:**
* PureClarity module is disabled
* Store configuration is incomplete
* Brand feed hasn't been set up (for Brand feed only)
**What it means:** The feed type is not configured or enabled for execution.
**Resolution steps:**
* **For all feeds:** Check that PureClarity is enabled in store configuration
* **For Brand feed:** Complete [Brand feed setup](/integrations/magento/magento-2/enabling-brand-feed)
* **For specific stores:** Verify store-level configuration
## Feed Status Best Practices
### Regular Monitoring
* **Check status daily** during initial setup
* **Review weekly** during normal operations
* **Monitor immediately** after making configuration changes
### Status Alerts
Watch for:
* **Error status** - Requires immediate attention
* **Extended "In Progress"** - May indicate processing issues
* **Outdated "Last Sent"** - Could signal cron problems
### Troubleshooting Workflow
1. **Identify the status** - Use this guide to understand what it means
2. **Check system logs** - Look for specific error messages
3. **Verify configuration** - Ensure settings are correct
4. **Test connectivity** - Confirm network access to PureClarity
5. **Contact support** - If issues persist after basic troubleshooting
If feeds remain in "Error" status for more than 24 hours, contact PureClarity support for assistance.
## Related Resources
* [Feed Troubleshooting Guide](/integrations/magento/magento-2/feeds-failing-errors)
* [Magento 2.x Logs](/integrations/magento/magento-2/logs)
* [When Data Feeds Run](/integrations/magento/magento-2/when-feeds-run)
* [Types of Data Feeds](/integrations/magento/magento-2/types-of-feed)
# Magento 2.x - Troubleshooting Feed Failures
Source: https://docs.pureclarity.com/integrations/magento/magento-2/feeds-failing-errors
Comprehensive guide to diagnosing and resolving PureClarity data feed errors in Magento 2.x
When your PureClarity data feeds are failing, the feeds box on your dashboard will display error status like this:
Feed failures prevent your store data from synchronizing with PureClarity, which can impact recommendation accuracy and personalization features.
## Error Investigation Steps
When you encounter feed errors, check the following locations for detailed error information:
### Server-Level Logs
* **Web server logs**: `/var/log/nginx/` or `/var/log/httpd/` on your filesystem
* **Magento logs**: `/var/log/` directory
### Database-Level Diagnostics
* **Cron schedule table**: Check the `cron_schedule` table for errors in rows with `job_code = "pureclarity_core_scheduled_feed"`
* **PureClarity state table**: Examine the `pureclarity_state` table for the value in the row where `name = "last_feed_error"`
### Enhanced Logging (Version 6.1.0+)
If you're running PureClarity extension version 6.1.0 or later, you can access centralized logs through the [PureClarity Logs page](/integrations/magento/magento-2/logs) instead of manually checking the locations above.
## Common Resolution Steps
### 1. Check System Requirements
Ensure your Magento installation meets all PureClarity requirements:
* PHP memory limits
* Database connection stability
* Cron job configuration
### 2. Verify Cron Configuration
Feed processes rely on Magento's cron system:
```bash theme={null}
# Check if cron is running
php bin/magento cron:run
# Verify cron configuration
php bin/magento cron:status
```
### 3. Manual Feed Execution
Try running feeds manually to isolate the issue:
1. Navigate to **PureClarity > Dashboard** in Magento admin
2. Use the manual feed buttons in the Feeds section
3. Monitor for immediate errors
### 4. Database Connectivity
Verify PureClarity can communicate with external services:
* Check firewall settings
* Confirm outbound HTTPS connectivity
* Validate API credentials
## Getting Additional Help
If errors persist after following these steps:
[Contact PureClarity Support](/support/general/support-policy) with the following information:
* Error messages from logs
* Extension version number
* Magento version
* Recent changes to your store configuration
Enable debug mode temporarily to capture more detailed error information, but remember to disable it on production sites for security and performance reasons.
# Magento 2.x Free Trial Signup
Source: https://docs.pureclarity.com/integrations/magento/magento-2/free-trial-signup
Step-by-step guide to signing up for a PureClarity free trial through the Magento 2.x extension
## Setting up an account
After [installing the PureClarity extension](/integrations/magento/magento-2/installation), navigate to your Magento admin panel. You should see a notification banner at the top of any page and a new menu item under the "Content" menu.
Click either the notification link or the menu item to access the PureClarity Dashboard page:
You can also access this page by navigating to **Content > PureClarity > Dashboard** in the main menu.
## Signup page
When you visit the dashboard page for the first time, you'll see the PureClarity signup form with marketing information:
This page requires basic details to set up your PureClarity account.
## Multi-Store Configuration
If you have multiple store views configured in Magento, a dropdown selector will appear at the top of the page.
Choose the store view you wish to configure with PureClarity before submitting the form.
## Signup form details
The signup form contains two main sections:
### About You
Personal details for the account owner (used for PureClarity admin login):
* **First Name & Last Name** - Name of the user creating the account
* **Email** - Will be used for PureClarity admin login credentials
* **Company** - The name of the company that owns the website
* **Password** - Password for accessing the PureClarity admin dashboard
### About the Site
Store configuration details:
* **Store Name** - A descriptive name for your store
* **URL** - The base URL for this store
* **Currency** - Store currency (automatically detected from Magento)
* **Timezone** - Store timezone (automatically detected from Magento)
* **Region** - PureClarity server region for optimal performance
## Account Processing
When you submit the form, PureClarity processes your request (usually within a couple of minutes). The page will display a "Setting up account" status:
You can stay on this page to see real-time updates, or navigate away. A background process will automatically complete the configuration once your account is ready.
## Automatic Configuration
Once PureClarity creates your account, the following configuration happens automatically:
### Extension Configuration
* Module enabled
* Access key configured
* Secret key configured
* Daily feeds enabled
* Data indexing enabled
### Data Feed Setup
Initial data feeds are requested for:
* Products
* Categories
* Users
* Historic order information
## Completion
After successful setup, the dashboard updates to show the standard PureClarity control panel:
[Learn more about the PureClarity Magento Dashboard](/integrations/magento/magento-2/dashboard) to explore all available features and settings.
# Magento 2.x Installation
Source: https://docs.pureclarity.com/integrations/magento/magento-2/installation
How to install PureClarity into Magento 2.x using Composer and configure the extension
This guide covers the installation of PureClarity for Magento 2.x. Make sure you have Composer installed and admin access to your Magento store before proceeding.
## How to install the PureClarity Magento 2.x extension
The extension must be installed using Composer on the command line:
```bash theme={null}
composer require pureclarity/pureclarity-magento-2 --no-update
composer update
php bin/magento module:enable Pureclarity_Core
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
```
After running these commands, make sure to clear your Magento cache to ensure the extension is properly loaded.
## What does the extension do?
The PureClarity Magento 2 extension provides the following functionality:
* **Free Trial Setup**: Allows you to sign up for a 30-day free trial directly from your admin panel
* **Guided Configuration**: Provides step-by-step guidance for initial PureClarity setup in your store
* **Automatic Zone Setup**: Configures [Zones](/features/zones/overview) for key pages:
* Home Page
* Product Page
* Basket Page
* Order Confirmation Page
* **Data Synchronization**: Ensures data integrity between your store and PureClarity through automated cron jobs and indexing
* **Event Tracking**: Tracks frontend events to ensure recommendations use up-to-date customer behavior data
## Next Steps
Once installed, you'll need to create a PureClarity account to start using the personalization features. This can be done directly from the PureClarity Dashboard page in your Magento Admin.
[Continue with the free trial signup process](/integrations/magento/magento-2/free-trial-signup) to complete your PureClarity setup.
# Magento 2.x - Linking an Existing Store
Source: https://docs.pureclarity.com/integrations/magento/magento-2/linking-existing-store
How to connect an existing PureClarity store to a new Magento 2.x installation
If you already have a PureClarity store and want to connect it to a different Magento installation (for example, moving from a test site to production), you can link your existing account instead of creating a new one.
This process is ideal when migrating from a development environment to production or when switching Magento installations for the same store.
## Starting the Link Process
On the signup page, click the "Link an existing account" link above the signup form:
This opens the Link Account form where you should select **"Link an existing PureClarity Store"**:
Do not select "Create a new PureClarity store" as this will create a separate store instead of linking your existing one. For information about adding additional stores, see [Adding Another Store](/integrations/magento/magento-2/adding-another-store).
## Required Information
To link your existing store, you'll need the following credentials from your PureClarity account:
1. **AccessKey** - Your store's unique access identifier
2. **SecretKey** - Your store's secret authentication key
3. **Region** - Choose between USA or Europe based on your account setup
### Finding Your Credentials
You can locate these credentials in the PureClarity admin dashboard:
1. Navigate to **My Account > Integration**
2. Copy the AccessKey and SecretKey values
For security reasons, never share your SecretKey with unauthorized personnel. This key provides full access to your PureClarity store data.
## Verification and Configuration
When you submit the form, PureClarity verifies your credentials. If valid, your Magento store is automatically configured with the following settings:
### Extension Configuration
* Module enabled
* Access Key configured
* Secret Key configured
* Daily feeds enabled
* Data indexing enabled
### Data Synchronization
Initial data feeds are automatically requested for:
* Products
* Categories
* Users
* Historic order information
After successful linking, your existing PureClarity campaigns, segments, and configurations will be available in this Magento installation.
## Next Steps
Once linking is complete, your Magento dashboard will display the standard PureClarity interface with all your existing store data and configurations. You can immediately begin using your established campaigns and personalization settings on the new Magento installation.
# Magento 2.x Logs Management
Source: https://docs.pureclarity.com/integrations/magento/magento-2/logs
Comprehensive guide to PureClarity logging features in Magento 2.x including debug logging, log management, and troubleshooting
PureClarity's logging system provides detailed insights into feed processing, server-side requests, and system behavior. The dedicated logging features help troubleshoot issues and monitor system performance.
## Logging Features Overview
### Dedicated Log File
All PureClarity activity is logged to a dedicated file located at:
```
/var/log/pureclarity.log
```
**Benefits of dedicated logging:**
* **Isolated debugging** - PureClarity logs separated from general Magento logs
* **Easier analysis** - Focused content for troubleshooting
* **Better support** - Clean log files for support requests
* **Performance monitoring** - Track PureClarity-specific performance
The dedicated log file was introduced in version 6.1.0 and provides much cleaner debugging than mixed system logs.
### Debug Logging Feature
When enabled, debug logging provides detailed information about:
* **Feed processing** - Detailed feed generation and transmission logs
* **Server-side requests** - Complete request/response cycles
* **Data collection** - Information gathering and processing steps
* **API communications** - Detailed PureClarity API interactions
## Accessing the Logs Dashboard
### Navigate to Logs Interface
1. Go to **PureClarity Dashboard** in Magento admin
2. Click the **logs icon** to access the logging interface
### Logs Dashboard Overview
The logging dashboard provides three main management areas:
## Debug Logging Configuration
### Debug Logging Status
The status box shows current debug logging state and provides quick access to configuration.
**Features:**
* **Current status** - Shows if debug logging is enabled or disabled
* **Quick configuration** - Button takes you directly to settings
* **Status indicators** - Clear visual indication of logging state
### Enable/Disable Debug Logging
Click the configuration button to access debug logging settings:
**Configuration steps:**
1. **Navigate to configuration** via logs dashboard button
2. **Set debug logging** to Yes or No
3. **Save configuration**
4. **Clear configuration cache** if needed
Debug logging generates significantly more log data. Only enable when troubleshooting issues to avoid filling disk space with excessive logs.
### When to Enable Debug Logging
**Recommended scenarios:**
* **Feed troubleshooting** - When feeds fail or contain incorrect data
* **Server-side debugging** - For complex server-side mode issues
* **Performance analysis** - To understand processing bottlenecks
* **Support requests** - When requested by PureClarity support
* **Development work** - During custom implementation development
**Not recommended for:**
* **Production environments** (except during active troubleshooting)
* **High-traffic periods** - Can impact performance
* **Extended periods** - Will generate large log files
* **Regular monitoring** - Standard logs sufficient for normal operation
## Log File Management
### Download Logs
The download section shows current log file size and provides download functionality.
**Download features:**
* **File size indicator** - Shows current log file size
* **Direct download** - Downloads complete PureClarity log file
* **Support ready** - Downloaded files suitable for support requests
**When to download logs:**
* **Support requests** - Attach logs to support tickets
* **Issue analysis** - Review detailed error information
* **Archive purposes** - Backup logs before deletion
* **Development debugging** - Analyze custom implementation issues
### Delete Logs
Log deletion provides clean slate for focused debugging.
**Deletion features:**
* **Complete file removal** - Deletes entire PureClarity log file
* **Fresh start** - New log file created automatically with next log entry
* **Irreversible action** - Cannot undo log deletion
Log deletion cannot be undone. Download important logs before deletion if you need to retain them for analysis or support purposes.
**When to delete logs:**
* **Before troubleshooting** - Start with clean logs for specific issue
* **Large file sizes** - When logs become unwieldy
* **Periodic maintenance** - Regular cleanup to manage disk space
* **Privacy concerns** - Remove sensitive data from logs
## Log Analysis and Interpretation
### Standard Log Entries
**Normal operation logs include:**
* **Feed start/completion** - Feed processing lifecycle
* **Configuration changes** - Settings updates and saves
* **Zone requests** - Server-side zone processing
* **Authentication** - API connection and validation
### Debug Log Entries
**Additional debug information includes:**
* **Data collection details** - Product/category gathering process
* **API request/response** - Complete communication logs
* **Processing steps** - Detailed operation breakdown
* **Performance metrics** - Timing and resource usage
### Error Log Entries
**Error conditions logged:**
* **Feed failures** - Transmission or generation errors
* **Authentication issues** - Credential or permission problems
* **Network problems** - Connectivity or timeout issues
* **Data validation** - Malformed or invalid data errors
## Log Monitoring Best Practices
### Regular Review Schedule
**Recommended monitoring frequency:**
* **Daily** - During initial setup or troubleshooting
* **Weekly** - For active production sites
* **Monthly** - For stable, established installations
* **As needed** - When issues arise or changes are made
### Key Indicators to Monitor
**Watch for these patterns:**
* **Repeated errors** - Indicating persistent issues
* **Performance degradation** - Increasing processing times
* **Authentication failures** - Credential or configuration problems
* **Feed size changes** - Unusual data volumes
### Proactive Maintenance
**Regular maintenance tasks:**
* **Archive important logs** before deletion
* **Monitor file sizes** to prevent disk space issues
* **Review error patterns** for systemic problems
* **Update configuration** based on log insights
## Troubleshooting with Logs
### Common Issue Patterns
**Feed Processing Issues:**
```
[timestamp] Feed type 'product' started processing
[timestamp] Error: Authentication failed - invalid credentials
[timestamp] Feed processing halted
```
**Server-Side Mode Issues:**
```
[timestamp] Server-side request for zone 'HP-01'
[timestamp] Product data collection started
[timestamp] Error: Database connection timeout
[timestamp] Fallback content served
```
**Configuration Problems:**
```
[timestamp] Configuration save attempted
[timestamp] Error: Invalid region setting
[timestamp] Configuration validation failed
```
### Debugging Workflow
1. **Enable debug logging** for detailed information
2. **Reproduce the issue** to generate relevant logs
3. **Download logs** for analysis
4. **Identify error patterns** in log entries
5. **Implement fixes** based on log insights
6. **Verify resolution** through subsequent logs
7. **Disable debug logging** after issue resolution
## Performance Considerations
### Debug Logging Impact
**Resource usage:**
* **Increased disk I/O** - More frequent write operations
* **Larger log files** - Faster disk space consumption
* **Processing overhead** - Slight performance impact
* **Memory usage** - Additional logging operations
### Optimization Strategies
**Minimize performance impact:**
* **Enable only when needed** - Don't leave debug logging on permanently
* **Monitor disk space** - Ensure adequate storage for logs
* **Regular cleanup** - Delete old logs to manage space
* **Scheduled maintenance** - Plan log management activities
## Security and Privacy
### Log Content Considerations
**Potentially sensitive information in logs:**
* **API credentials** - Access keys in authentication logs
* **Customer data** - User information in feed processing
* **Product details** - Catalog information in debug logs
* **System paths** - Server configuration details
### Security Best Practices
**Protect log files:**
* **Secure file permissions** - Restrict access to log directories
* **Regular cleanup** - Remove old logs containing sensitive data
* **Access control** - Limit admin users who can download logs
* **Transport security** - Use secure methods when sharing logs
## Integration with Support
### Preparing Logs for Support
**When contacting support:**
1. **Enable debug logging** before reproducing issue
2. **Reproduce the specific problem**
3. **Download fresh logs** with issue details
4. **Include relevant timeframes** in support request
5. **Disable debug logging** after capturing issue
### Log Information to Include
**Helpful details for support:**
* **Magento version** and edition
* **PureClarity extension version**
* **Issue reproduction steps**
* **Specific timestamps** of problems
* **Configuration changes** made recently
## Related Resources
### Configuration Management
* [Environment & Credentials](/integrations/magento/magento-2/environment-credentials) - Basic configuration logging
* [Data Feeds & Indexing](/integrations/magento/magento-2/data-feeds-indexing) - Feed-related logging
### Troubleshooting Guides
* [Feed Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors) - Using logs for feed issues
* [Products Not Updating](/integrations/magento/magento-2/products-not-updating) - Log analysis for data sync issues
* [Zones Not Showing](/integrations/magento/magento-2/zones-not-showing) - Server-side logging for zones
### Advanced Features
* [Server-Side Mode](/integrations/magento/magento-2/serverside) - Server-side request logging
* [Extending Feeds](/integrations/magento/magento-2/extending-feed) - Custom development debugging
## Summary
PureClarity's logging system provides:
* **Dedicated log file** for isolated debugging
* **Debug logging** for detailed troubleshooting
* **Management dashboard** for easy log administration
* **Download and deletion** tools for maintenance
* **Support integration** for issue resolution
Use logging strategically to maintain system health while avoiding performance impacts from excessive debug data collection.
# Placeholder Images Configuration
Source: https://docs.pureclarity.com/integrations/magento/magento-2/placeholder-images
Setting up fallback images for products and categories in Magento 2.x when default images are missing
Placeholder images ensure your PureClarity recommendations always display properly, even when products or categories don't have images assigned. Configure fallback images to maintain visual consistency and professional appearance.
## Accessing Placeholder Settings
Navigate to **Stores > Configuration > PureClarity** and locate the **"Placeholder Images"** section.
## Placeholder Configuration Options
### Product Image Placeholder
**Purpose:** Fallback image for products without images\
**Format:** Full URL to image file\
**Fallback:** Magento default placeholder if empty
This image URL is sent to PureClarity when a product has no assigned image, ensuring recommendations always display product visuals.
**Best practices for product placeholders:**
* **Consistent dimensions** - Match your typical product image size
* **Brand appropriate** - Use branded or neutral placeholder design
* **High quality** - Ensure images look professional in recommendations
* **Optimized format** - Use WebP or optimized JPG/PNG for performance
**Example configurations:**
```
https://yourstore.com/media/placeholder/product-placeholder.webp
https://cdn.yourstore.com/images/defaults/no-product-image.jpg
/media/wysiwyg/placeholders/default-product.png
```
If no value is provided, Magento's default product placeholder image will be used. This ensures functionality even without custom configuration.
### Category Image Placeholder
**Purpose:** Fallback image for categories without images\
**Format:** Full URL to image file\
**Fallback:** Magento default placeholder if empty
Used when category-based recommendations require images but the category has no assigned image.
**Use cases for category placeholders:**
* **Category recommendations** - Visual category suggestions
* **Navigation aids** - Category browsing assistance
* **Brand organization** - When categories represent brands
* **Promotional campaigns** - Category-focused marketing
**Design considerations:**
* **Icon-based approach** - Simple category icons
* **Brand consistency** - Match overall site design
* **Scalability** - Works at different display sizes
* **Recognition** - Easily identifiable as category content
### Secondary Category Image Placeholder
**Purpose:** Fallback for category "Override Image" attribute\
**Format:** Full URL to image file\
**Fallback:** No value sent if empty
This placeholder is used specifically when categories have no "Override Image" set in their PureClarity attributes.
**When this applies:**
* **Custom templates** - Using override images in PureClarity templates
* **Campaign-specific visuals** - Different images for promotional periods
* **A/B testing** - Alternative category representations
* **Brand customization** - Specialized category imagery
Secondary placeholders are only relevant if you're using category override images in custom PureClarity templates. Most standard implementations won't need this setting.
## Image Requirements and Optimization
### Technical Specifications
**Recommended formats:**
* **WebP** - Best compression and quality
* **JPEG** - Universal compatibility
* **PNG** - When transparency needed
**Optimal dimensions:**
* **Product placeholders:** 400x400px minimum
* **Category placeholders:** 300x200px minimum
* **Responsive considerations:** Ensure images scale well
### Performance Optimization
**Image delivery:**
* **CDN hosting** - Use content delivery networks
* **Compression** - Optimize file sizes without quality loss
* **Caching** - Leverage browser and server caching
* **Format selection** - Choose optimal format for content type
Large placeholder images can impact recommendation loading times. Balance image quality with performance requirements.
## Placeholder Strategy
### Design Approach
**Brand consistency:**
* **Logo integration** - Include brand elements subtly
* **Color scheme** - Match site's visual identity
* **Typography** - Use consistent fonts if text included
* **Style alignment** - Complement overall design language
**Content strategy:**
* **Informative placeholders** - Indicate what's missing
* **Actionable design** - Encourage interaction despite missing image
* **Professional appearance** - Maintain site credibility
* **Accessibility** - Include appropriate alt text concepts
### Multi-Store Considerations
**Store-specific placeholders:**
* **Language variations** - Localized placeholder content
* **Cultural appropriateness** - Region-specific imagery
* **Brand differentiation** - Different brands under one installation
* **Currency implications** - Consider pricing display context
## Implementation Examples
### E-commerce Focused
```
Product: https://yourstore.com/images/no-product-available.webp
Category: https://yourstore.com/images/category-placeholder.webp
```
### Brand-Heavy Implementation
```
Product: https://cdn.yourbrand.com/placeholders/branded-product.jpg
Category: https://cdn.yourbrand.com/placeholders/branded-category.jpg
```
### Minimalist Approach
```
Product: /media/placeholders/simple-product-box.png
Category: /media/placeholders/category-icon.png
```
## Testing Placeholder Configuration
### Validation Steps
1. **Create test products** without images
2. **Create test categories** without images
3. **Run manual feeds** to include test items
4. **Check recommendations** for placeholder display
5. **Verify image loading** and performance
6. **Test across devices** for responsive behavior
### Debug Testing
Enable [Zone Debug Mode](/integrations/magento/magento-2/zone-debug) to:
* **Identify placeholder usage** in live recommendations
* **Verify image URLs** are correct
* **Test fallback behavior** when placeholders fail
* **Monitor loading performance**
Create a dedicated test category with products that intentionally have no images to validate placeholder functionality during development.
## Common Issues and Solutions
### Placeholder Not Displaying
**Troubleshooting checklist:**
* **URL accessibility** - Verify images load in browser
* **Path accuracy** - Check for typos in URLs
* **Server permissions** - Ensure images are publicly accessible
* **Cache clearing** - Clear Magento and CDN caches
* **Feed status** - Confirm feeds have run after configuration
### Performance Issues
**Optimization strategies:**
* **Image compression** - Reduce file sizes
* **CDN implementation** - Use geographically distributed delivery
* **Format optimization** - Choose efficient image formats
* **Lazy loading** - Implement for non-critical placeholders
### Inconsistent Display
**Common causes:**
* **Mixed protocols** - HTTP vs HTTPS mismatches
* **Dimension variations** - Inconsistent image sizes
* **Format issues** - Unsupported image types
* **Cache problems** - Outdated cached images
## Advanced Configuration
### Dynamic Placeholders
For more sophisticated placeholder systems:
* **Category-specific placeholders** - Different images per category type
* **Seasonal variations** - Time-based placeholder rotation
* **Inventory-based** - Different placeholders for out-of-stock items
* **Custom logic** - Magento customizations for dynamic selection
### Template Integration
When using custom PureClarity templates:
* **Template variables** - Reference placeholder URLs in templates
* **Conditional logic** - Display different placeholders based on content
* **Responsive design** - Adapt placeholders for different screen sizes
* **Accessibility** - Include proper alt text and ARIA labels
## Monitoring and Maintenance
### Regular Reviews
**Monthly checks:**
* **Image accessibility** - Verify all placeholder URLs work
* **Performance impact** - Monitor loading times
* **Visual consistency** - Ensure design alignment
* **Usage analytics** - Track placeholder display frequency
### Optimization Opportunities
**Continuous improvement:**
* **A/B testing** - Try different placeholder designs
* **User feedback** - Gather input on placeholder effectiveness
* **Performance monitoring** - Track impact on site speed
* **Conversion analysis** - Measure placeholder impact on recommendations
## Related Configuration
### Feed Integration
Placeholder images work with:
* [Types of Data Feeds](/integrations/magento/magento-2/types-of-feed) - Understanding image data in feeds
* [Data Feeds & Indexing](/integrations/magento/magento-2/data-feeds-indexing) - Feed content configuration
### Visual Customization
* [Category Attributes](/integrations/magento/magento-2/category-attributes) - Override image configuration
* [Product Attributes](/integrations/magento/magento-2/product-attributes) - Product-specific settings
* [Templates Overview](/features/templates/overview) - PureClarity template customization
### Performance Optimization
* [Configuration Mode](/integrations/magento/magento-2/configuration-mode) - Impact on image delivery
* [Dashboard Overview](/integrations/magento/magento-2/dashboard) - Performance monitoring
## Best Practices Summary
### Image Quality
* **Use high-resolution images** that scale well
* **Optimize file sizes** for fast loading
* **Maintain brand consistency** across all placeholders
* **Test across devices** for responsive behavior
### Configuration Management
* **Document placeholder URLs** for team reference
* **Version control** image assets
* **Regular testing** of placeholder functionality
* **Monitor performance impact** on recommendations
### User Experience
* **Clear visual indication** of missing content
* **Professional appearance** maintains site credibility
* **Consistent styling** with overall site design
* **Accessibility consideration** for all users
# Product Attributes
Source: https://docs.pureclarity.com/integrations/magento/magento-2/product-attributes
Understanding and configuring PureClarity-specific product attributes in Magento 2.x for enhanced personalization
PureClarity adds several custom attributes to Magento products that enhance personalization and recommendation accuracy. These attributes provide additional context for PureClarity's AI to deliver more relevant customer experiences.
## Accessing Product Attributes
To configure PureClarity attributes for a product:
1. Navigate to **Catalog > Products** in Magento admin
2. **Edit any product**
3. **Scroll to the bottom** of the product edit page
4. **Expand the "PureClarity" section**
## Product Attribute Fields
### Search Tags
**Purpose:** Enhance search-based recommendations\
**Format:** Comma-separated list of keywords or phrases\
**Use Case:** Boost product relevance for specific search terms
**Examples:**
* Seasonal products: `Summer, Beach, Vacation, Hot Weather`
* Style descriptors: `Casual, Formal, Business, Weekend`
* Occasion-based: `Wedding, Party, Date Night, Work`
* Trending terms: `Sustainable, Eco-friendly, Organic`
Search tags help PureClarity understand product context beyond standard attributes, improving recommendations for customers who search using specific terms.
**Best Practices:**
* **Use customer language** - Think about how customers would describe the product
* **Include variations** - Add plural forms and synonyms
* **Consider seasons** - Add time-relevant descriptors
* **Think broadly** - Include lifestyle and use-case terms
### Exclude from Recommenders
**Purpose:** Remove products from all PureClarity recommendation engines\
**Options:** Yes/No\
**Default:** No
**When to exclude products:**
* **Low-value items** - Small accessories that dilute recommendation quality
* **Seasonal products** - Out-of-season items (alternatively, use search tags)
* **Discontinued items** - Products being phased out
* **Administrative products** - Gift cards, services, or non-shippable items
* **Test products** - Items used for internal testing
Excluded products will not appear in any PureClarity recommendations, including related products, cross-sells, and personalized recommendations.
### New Arrival
**Purpose:** Flag products as recent additions to your catalog\
**Options:** Yes/No\
**Default:** No (automatic detection may apply)
**Benefits of marking new arrivals:**
* **Enhanced visibility** in "What's New" campaigns
* **Fresh content** for returning customers
* **Trend highlighting** for fashion and seasonal items
* **Inventory promotion** for newly launched products
Use new arrival status strategically for products you want to promote or test market response. This can drive interest and sales for recently added inventory.
**Management strategies:**
* **Time-based rotation** - Update new arrival status monthly or seasonally
* **Product lifecycle** - Remove new arrival status after specific time periods
* **Category focus** - Highlight new arrivals in specific product categories
* **Campaign coordination** - Align with marketing campaigns
### On Offer
**Purpose:** Mark products as promotional or discounted\
**Options:** Yes/No\
**Default:** Automatic detection based on special pricing
**Automatic vs. Manual flagging:**
* **Automatic:** PureClarity detects products with special prices or catalog rules
* **Manual override:** Use this field to flag products as promotional without price changes
**When to manually flag products:**
* **Bundle promotions** - Products that are part of bundle deals
* **Marketing campaigns** - Products featured in advertising
* **Clearance items** - Products being cleared without price reductions
* **Strategic positioning** - Products you want to promote as special
Manual "On Offer" flagging is useful when you want to treat products as promotional in recommendations without changing their actual pricing structure.
## Attribute Impact on Recommendations
### Search-Based Recommendations
Products with relevant search tags appear more prominently when customers search for related terms, improving the accuracy of search-driven recommendations.
### Category Recommendations
New arrival and on-offer status influence which products are prioritized in category-based recommendations, helping promote strategic inventory.
### Cross-Sell and Upsell
Product attributes help PureClarity understand product relationships and customer intent, improving the relevance of complementary product suggestions.
### Personalized Recommendations
Customer behavior patterns combined with product attributes create more nuanced personalization, especially for returning customers.
## Bulk Attribute Management
### Using Import/Export
For large catalogs, manage PureClarity attributes via Magento's import/export functionality:
1. **Export current products** with all attributes
2. **Modify PureClarity columns** in the CSV
3. **Import updated data** back to Magento
### Attribute Columns in CSV
* `pureclarity_search_tags`
* `pureclarity_exclude_from_recommenders`
* `pureclarity_newarrival`
* `pureclarity_on_offer`
### Mass Actions
Use Magento's mass update functionality to:
* **Bulk exclude** product categories from recommendations
* **Seasonal updates** for new arrival status
* **Promotional flagging** for marketing campaigns
Always backup your product data before performing bulk updates to PureClarity attributes.
## Attribute Strategy Best Practices
### Search Tag Strategy
* **Research customer language** - Use terms customers actually search for
* **Analyze search data** - Review internal search logs for popular terms
* **Competitive analysis** - See how competitors describe similar products
* **Regular updates** - Refresh tags based on trends and seasonality
### Exclusion Strategy
* **Quality over quantity** - Focus recommendations on best-selling items
* **Regular auditing** - Review excluded products quarterly
* **Performance monitoring** - Track impact of exclusions on recommendation performance
### Promotional Strategy
* **Coordinate with marketing** - Align promotional flags with campaigns
* **Track performance** - Monitor conversion rates for flagged products
* **Seasonal adjustments** - Update promotional status for holiday seasons
## Monitoring Attribute Effectiveness
### Feed Validation
Verify attributes are being sent to PureClarity:
1. **Check feed status** in the dashboard
2. **Review feed logs** for attribute data
3. **Test recommendations** to see attribute impact
### Performance Tracking
Monitor how attribute usage affects:
* **Click-through rates** on recommendations
* **Conversion rates** for tagged products
* **Customer engagement** with promotional items
* **Search result relevance** for tagged products
## Related Configuration
### Feed Integration
Product attributes are included in:
* **Product feeds** sent to PureClarity
* **Real-time updates** via indexing
* **Manual feed refreshes**
### Campaign Configuration
Attributes can be used in PureClarity campaigns for:
* **Targeted recommendations** based on product flags
* **Promotional campaigns** featuring on-offer products
* **Seasonal campaigns** highlighting new arrivals
* **Search optimization** using search tags
For more information on feed management, see [Types of Data Feeds](/integrations/magento/magento-2/types-of-feed).
For campaign configuration guidance, see [Campaign Overview](/features/campaigns/overview).
## Troubleshooting Attributes
### Common Issues
**Attributes not appearing in recommendations:**
* Verify product is enabled and visible
* Check if product is excluded from recommenders
* Confirm feed has been sent after attribute updates
* Review campaign configuration in PureClarity admin
**Search tags not improving results:**
* Ensure tags match customer search terms
* Check for spelling errors in tags
* Verify feed includes search tag data
* Test with multiple tag variations
For comprehensive troubleshooting, see [Product Updates Not Working](/integrations/magento/magento-2/products-not-updating).
# Products Not Updating Troubleshooting
Source: https://docs.pureclarity.com/integrations/magento/magento-2/products-not-updating
Comprehensive troubleshooting guide for when product and category changes aren't appearing in PureClarity recommendations
When product or category changes in Magento aren't reflected in PureClarity recommendations, the issue is typically related to feed execution, indexing configuration, or cron job setup. This guide provides systematic troubleshooting steps.
## Quick Diagnosis Checklist
Before diving into detailed troubleshooting, check these common issues:
* [ ] **Recent changes made** - Allow 1-2 minutes for indexing updates
* [ ] **Feed status** - Check dashboard for recent feed execution
* [ ] **Configuration enabled** - Verify feeds and indexing are turned on
* [ ] **Cron jobs running** - Ensure background tasks are functioning
* [ ] **Error logs** - Review for any error messages
## Configuration Verification
### 1. Check Feed and Indexing Settings
Navigate to **Stores > Configuration > PureClarity > Data Feeds / Indexing** and verify:
**Required settings:**
* **Product Indexing Enabled:** Yes
* **Daily Feed Enabled:** Yes
Product indexing enables real-time updates while daily feeds provide comprehensive backup synchronization.
**If settings are incorrect:**
1. **Change to "Yes"** for both settings
2. **Save configuration**
3. **Clear configuration cache**
4. **Test with a product change**
For detailed configuration information, see [Data Feeds & Indexing Configuration](/integrations/magento/magento-2/data-feeds-indexing).
### 2. Verify Indexer Configuration
Check that PureClarity indexers are properly configured:
1. Navigate to **System > Index Management**
2. Locate PureClarity indexers in the list
3. Verify they're set to **"Update by Schedule"**
**If indexers are set to "Update on Save":**
1. **Select PureClarity indexers**
2. **Change mode to "Update by Schedule"**
3. **Save changes**
4. **Reindex if necessary**
"Update on Save" mode can cause performance issues and may not trigger feeds correctly. Always use "Update by Schedule" for optimal performance.
## Cron Job Verification
### 3. Ensure Cron Jobs Are Running
Cron jobs are essential for feed processing and indexing. Verify they're properly configured:
**Check cron configuration:**
* Review your server's crontab for Magento cron entries
* Ensure cron is running every minute
* Verify Magento cron groups are configured
**Standard Magento cron setup:**
```bash theme={null}
* * * * * php /path/to/magento/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule"
* * * * * php /path/to/magento/bin/magento cron:run --group=index 2>&1 | grep -v "Ran jobs by schedule"
```
**Manual cron testing:**
```bash theme={null}
cd /path/to/magento
php bin/magento cron:run
```
If cron jobs aren't set up, follow the [Magento cron documentation](https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-cron.html) for proper configuration.
**Temporary solution for testing:**
Run cron manually to process pending feed updates:
```bash theme={null}
php bin/magento cron:run
```
### 4. Monitor Cron Job Execution
Check cron job execution in Magento:
1. Navigate to **System > Tools > Cron**
2. Review recent cron job execution
3. Look for PureClarity-related jobs
4. Check for any error messages
**Common PureClarity cron jobs:**
* `pureclarity_feeds_product`
* `pureclarity_feeds_category`
* `pureclarity_feeds_user`
* `pureclarity_indexer_process`
## Error Investigation
### 5. Review System Logs
Check Magento logs for feed-related errors:
**Log locations:**
* `var/log/system.log`
* `var/log/exception.log`
* `var/log/debug.log`
**Common error patterns to look for:**
* Authentication failures (invalid credentials)
* Network connectivity issues
* Memory or timeout errors
* Data validation problems
**Example log analysis:**
```bash theme={null}
cd /path/to/magento
grep -i pureclarity var/log/system.log | tail -20
```
For comprehensive error troubleshooting, see [Feed Error Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors).
### 6. Check Feed Status
Monitor feed execution status in the Magento admin:
1. Navigate to **PureClarity > Dashboard**
2. Review the **Data Feeds** panel
3. Check last execution times and status
**Status indicators:**
* **Green with date** - Successfully completed
* **Orange/Yellow** - In progress or waiting
* **Red** - Error requiring attention
For detailed status interpretation, see [Feed Status Guide](/integrations/magento/magento-2/feed-status).
## Manual Testing
### 7. Test Manual Feed Execution
Force feed execution to test the system:
1. **Navigate to PureClarity Dashboard** in Magento admin
2. **Click "Run Feeds Manually"**
3. **Select Product and Category feeds**
4. **Click "Run feeds now"**
5. **Monitor progress** over the next few minutes
Manual feed execution helps isolate whether the issue is with automatic scheduling or the feed process itself.
### 8. Test Individual Product Changes
Create a controlled test to verify indexing:
1. **Make a simple product change** (e.g., update product name)
2. **Save the product**
3. **Wait 2-3 minutes** for indexing to process
4. **Check feed status** for updates
5. **Verify change appears** in PureClarity admin
**What to look for:**
* Indexer processes the change
* Feed status shows recent activity
* Changes appear in PureClarity within minutes
## Advanced Troubleshooting
### 9. Database Investigation
For persistent issues, check database-level problems:
**Indexer queue status:**
```sql theme={null}
SELECT * FROM pureclarity_product_queue ORDER BY updated_at DESC LIMIT 10;
SELECT * FROM pureclarity_category_queue ORDER BY updated_at DESC LIMIT 10;
```
**Cron schedule status:**
```sql theme={null}
SELECT * FROM cron_schedule WHERE job_code LIKE '%pureclarity%' ORDER BY scheduled_at DESC LIMIT 10;
```
**Look for:**
* Stuck queue items
* Failed cron jobs
* Duplicate entries
* Processing errors
### 10. Memory and Performance Issues
Check for resource-related problems:
**PHP memory limits:**
* Verify adequate memory allocation
* Check for memory exhaustion errors
* Monitor during feed processing
**Server resources:**
* CPU usage during feed processing
* Database connection limits
* Disk space availability
* Network connectivity
Large catalogs may require increased memory limits and processing time. Monitor server resources during feed execution.
## Resolution Steps
### For Configuration Issues
1. **Correct configuration settings**
2. **Clear all caches**
3. **Restart cron jobs**
4. **Test manual feed execution**
### For Indexer Problems
1. **Set indexers to "Update by Schedule"**
2. **Reindex PureClarity indexers**
3. **Clear indexer locks if stuck**
4. **Monitor subsequent changes**
### For Cron Issues
1. **Verify cron setup** on server
2. **Check cron execution** in Magento
3. **Clear stuck cron jobs** if necessary
4. **Test manual cron execution**
### For Feed Errors
1. **Review error logs** for specific issues
2. **Check credentials** and connectivity
3. **Verify data integrity** in feeds
4. **Contact support** if errors persist
## Prevention and Monitoring
### Regular Maintenance
* **Weekly indexer status** review
* **Monthly cron job** health check
* **Quarterly configuration** audit
* **Feed performance** monitoring
### Monitoring Setup
* **Feed status alerts** for failures
* **Cron job monitoring** for missed executions
* **Error log monitoring** for issues
* **Performance tracking** for degradation
### Best Practices
* **Test changes** in staging environments
* **Monitor after updates** to Magento or extensions
* **Document configuration** for troubleshooting reference
* **Keep backups** of working configurations
## When to Contact Support
Contact PureClarity support if:
* **Configuration appears correct** but feeds still fail
* **Error messages** are unclear or technical
* **Performance issues** persist after optimization
* **Data corruption** is suspected in feeds
**Information to provide:**
* Magento version and edition
* PureClarity extension version
* Recent changes to configuration
* Error log excerpts
* Feed status screenshots
* Cron job configuration details
## Related Resources
### Configuration Guides
* [Data Feeds & Indexing](/integrations/magento/magento-2/data-feeds-indexing) - Complete configuration reference
* [When Data Feeds Run](/integrations/magento/magento-2/when-feeds-run) - Understanding feed timing
* [Feed Status](/integrations/magento/magento-2/feed-status) - Status interpretation guide
### Troubleshooting Guides
* [Feed Error Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors) - Specific error resolution
* [Zone Troubleshooting](/integrations/magento/magento-2/zones-not-showing) - Zone display issues
* [Magento Logs](/integrations/magento/magento-2/logs) - Log analysis and debugging
### Performance Optimization
* [Dashboard Overview](/integrations/magento/magento-2/dashboard) - System monitoring
* [Configuration Mode](/integrations/magento/magento-2/configuration-mode) - Performance considerations
# Server-Side Mode Implementation
Source: https://docs.pureclarity.com/integrations/magento/magento-2/serverside
Advanced guide to implementing and customizing server-side mode in Magento 2.x for complex pricing and custom data requirements
Server-side mode routes recommendation requests through Magento to ensure personalized pricing, complex business rules, and custom data processing. This advanced implementation guide covers template customization and data extension.
## Server-Side Mode Overview
### How Server-Side Mode Works
1. **PureClarity provides SKUs** - Recommendation algorithm returns product identifiers
2. **Magento processes SKUs** - Server loads current product data with customer context
3. **Custom logic applied** - Pricing rules, inventory, and business logic processed
4. **Template renders output** - Knockout.js template displays final recommendations
5. **HTML delivered to page** - Complete recommendation content served
### Differences from Client-Side Mode
**Template Management:**
* **Server-side:** Templates managed in Magento theme files
* **Client-side:** Templates managed in PureClarity admin
**Data Processing:**
* **Server-side:** Real-time Magento data with customer context
* **Client-side:** Static data from pre-generated feeds
**Customization:**
* **Server-side:** Full access to Magento functionality
* **Client-side:** Limited to feed data and PureClarity template editor
Changes made in PureClarity Admin's Template Editor or Recommender Designer will not affect server-side mode displays. All template customization must be done in Magento.
## Template Customization
### Default Template Location
The product recommender template is located at:
```
vendor/pureclarity/pureclarity-magento-2/view/frontend/web/template/product-recommender.html
```
### Override Template in Your Theme
To customize the template, copy it to your theme:
**Target location:**
```
app/design/frontend/[Vendor]/[theme]/Pureclarity_Core/web/template/product-recommender.html
```
**Example file structure:**
```
app/design/frontend/
└── MyCompany/
└── mytheme/
└── Pureclarity_Core/
└── web/
└── template/
└── product-recommender.html
```
Never modify the original template in the vendor directory as it will be overwritten during extension updates.
### Basic Template Structure
The template uses Knockout.js data binding:
```html theme={null}
```
### Available Data Fields
**Standard product data available in templates:**
* `id` - Product ID
* `name` - Product name
* `price` - Formatted price string
* `url` - Product page URL
* `image` - Product image URL
* `description` - Product description
* `sku` - Product SKU
**Additional fields through customization:**
* Custom attributes
* Calculated pricing
* Inventory information
* Customer-specific data
## Custom Data Extension
### Extension Point
Extend product data using plugins on the `ProductData` class:
**Class:** `\Pureclarity\Core\Model\Serverside\Response\ProductData`\
**Method:** `populateProductData()` - Adds data to the array sent to Knockout
### Implementation Example
**1. Create di.xml configuration:**
```xml theme={null}
```
**2. Create the plugin class:**
```php theme={null}
customerSession = $customerSession;
$this->pricingHelper = $pricingHelper;
}
/**
* Add custom data to product recommendations
*
* @param ProductData $subject
* @param array $data
* @return array
*/
public function afterPopulateProductData(ProductData $subject, array $data)
{
// Add custom pricing logic
$data['price'] = $this->calculateCustomPrice($data);
// Add custom fields
$data['my_custom_field'] = $this->getCustomFieldValue($data);
$data['customer_tier'] = $this->getCustomerTier();
$data['stock_status'] = $this->getStockStatus($data['id']);
return $data;
}
/**
* Calculate customer-specific pricing
*/
private function calculateCustomPrice(array $productData)
{
$customer = $this->customerSession->getCustomer();
return $this->pricingHelper->getCustomerPrice($productData['id'], $customer);
}
/**
* Get custom field value
*/
private function getCustomFieldValue(array $productData)
{
// Your custom logic here
return 'Custom Value for Product ' . $productData['id'];
}
/**
* Get customer tier information
*/
private function getCustomerTier()
{
$customer = $this->customerSession->getCustomer();
return $customer->getCustomAttribute('customer_tier') ?? 'standard';
}
/**
* Get current stock status
*/
private function getStockStatus($productId)
{
// Implement stock checking logic
return 'in_stock';
}
}
```
### Advanced Custom Pricing Example
```php theme={null}
private function calculateCustomPrice(array $productData)
{
$customer = $this->customerSession->getCustomer();
$productId = $productData['id'];
// Get base price
$basePrice = $productData['price_raw'] ?? 0;
// Apply customer-specific discount
$customerDiscount = $this->getCustomerDiscount($customer);
$discountedPrice = $basePrice * (1 - $customerDiscount);
// Apply volume pricing
$volumePrice = $this->applyVolumePricing($productId, $customer, $discountedPrice);
// Apply contract pricing if applicable
$finalPrice = $this->applyContractPricing($productId, $customer, $volumePrice);
// Format for display
return $this->formatPrice($finalPrice);
}
```
## Advanced Template Customization
### Responsive Design Template
```html theme={null}
```
### Template with Custom Styling
```html theme={null}
```
## Performance Optimization
### Caching Strategies
```php theme={null}
public function afterPopulateProductData(ProductData $subject, array $data)
{
// Use static cache for expensive operations
static $priceCache = [];
static $customerTierCache = null;
$productId = $data['id'];
// Cache customer tier for session
if ($customerTierCache === null) {
$customerTierCache = $this->getCustomerTier();
}
// Cache pricing calculations
if (!isset($priceCache[$productId])) {
$priceCache[$productId] = $this->calculateCustomPrice($data);
}
$data['price'] = $priceCache[$productId];
$data['customer_tier'] = $customerTierCache;
return $data;
}
```
### Batch Processing
```php theme={null}
public function afterPopulateProductData(ProductData $subject, array $data)
{
// Collect product IDs for batch processing
static $productIds = [];
static $batchData = [];
$productIds[] = $data['id'];
// Process in batches of 10
if (count($productIds) >= 10) {
$batchData = array_merge($batchData, $this->processBatch($productIds));
$productIds = [];
}
// Apply batch data if available
if (isset($batchData[$data['id']])) {
$data = array_merge($data, $batchData[$data['id']]);
}
return $data;
}
```
## Error Handling and Fallbacks
### Graceful Degradation
```php theme={null}
public function afterPopulateProductData(ProductData $subject, array $data)
{
try {
// Attempt custom pricing calculation
$customPrice = $this->calculateCustomPrice($data);
$data['price'] = $customPrice;
} catch (\Exception $e) {
// Log error but don't break recommendations
$this->logger->error('Custom pricing failed', [
'product_id' => $data['id'],
'error' => $e->getMessage()
]);
// Use fallback pricing
$data['price'] = $this->formatPrice($data['price_raw'] ?? 0);
}
return $data;
}
```
### API Integration with Timeouts
```php theme={null}
private function getExternalData($productId)
{
try {
// Set timeout for external API
$this->httpClient->setTimeout(2); // 2 second timeout
$response = $this->httpClient->get("/api/product/{$productId}");
return $response->getData();
} catch (\Exception $e) {
// Return empty array on failure
$this->logger->warning('External API failed', [
'product_id' => $productId,
'error' => $e->getMessage()
]);
return [];
}
}
```
## Testing Server-Side Implementation
### Unit Testing Custom Data
```php theme={null}
public function testCustomDataIsAddedToProduct()
{
// Mock dependencies
$mockCustomerSession = $this->createMock(\Magento\Customer\Model\Session::class);
$mockPricingHelper = $this->createMock(\MyCompany\MyModule\Helper\Pricing::class);
// Create plugin instance
$plugin = new ServersideDataPlugin($mockCustomerSession, $mockPricingHelper);
// Test data
$inputData = ['id' => 123, 'name' => 'Test Product', 'price_raw' => 29.99];
// Mock the subject
$mockSubject = $this->createMock(ProductData::class);
// Execute plugin
$result = $plugin->afterPopulateProductData($mockSubject, $inputData);
// Assert custom fields are added
$this->assertArrayHasKey('my_custom_field', $result);
$this->assertArrayHasKey('customer_tier', $result);
}
```
### Integration Testing
```php theme={null}
public function testServersideRecommendationsDisplay()
{
// Set up test customer with special pricing
$customer = $this->createTestCustomer(['tier' => 'premium']);
$this->customerSession->loginById($customer->getId());
// Create test products
$products = $this->createTestProducts(5);
// Request server-side recommendations
$response = $this->serversideProcessor->processRecommendation([
'zone' => 'test-zone',
'products' => array_column($products, 'id')
]);
// Verify custom data is included
$this->assertNotEmpty($response['products']);
$this->assertArrayHasKey('customer_tier', $response['products'][0]);
}
```
## Related Resources
### Configuration and Setup
* [Configuration Mode](/integrations/magento/magento-2/configuration-mode) - Enabling server-side mode
* [Customer Specific Prices](/integrations/magento/magento-2/customer-specific-prices) - Pricing use cases
* [Adding Zones Using HTML](/integrations/magento/magento-2/adding-zones-html) - Server-side zone syntax
### Development Resources
* [Extending Feeds](/integrations/magento/magento-2/extending-feed) - Related data customization
* [Magento Logs](/integrations/magento/magento-2/logs) - Debugging server-side processing
### Troubleshooting
* [Zones Not Showing](/integrations/magento/magento-2/zones-not-showing) - Server-side zone issues
* [Products Not Updating](/integrations/magento/magento-2/products-not-updating) - Data synchronization problems
## Summary
Server-side mode implementation enables:
* **Custom pricing logic** with real-time calculations
* **Template customization** through Magento theme system
* **Data extension** via plugin system
* **Performance optimization** through caching and batch processing
* **Error handling** with graceful degradation
Use server-side mode when your requirements exceed the capabilities of client-side recommendations and feed-based data delivery.
# Types of Data Feeds
Source: https://docs.pureclarity.com/integrations/magento/magento-2/types-of-feed
Overview of the different types of data feeds that can be sent from Magento 2.x to PureClarity for personalization
The Magento 2.x plugin can send 5 different types of data feeds to PureClarity. Each feed serves a specific purpose in powering personalization and recommendations.
## Product Feed
Contains data for all **visible and enabled** products in your store.
**What's included:**
* All product attributes
* Default pricing information
* Product relationships and configurations
* Inventory status
* Product images and media
Only products that are visible in catalog and enabled will be included in the feed. Hidden or disabled products are automatically excluded.
## Category Feed
Contains data for all **visible and enabled** categories in your store.
**What's included:**
* All category attributes
* Category hierarchy and relationships
* Category images and descriptions
* URL keys and navigation data
This feed helps PureClarity understand your store's structure and enables category-based recommendations and filtering.
## User Feed
Contains data for all registered **Magento customers** within your store.
**What's included:**
* Basic customer information
* Customer groups and segments
* Registration dates
* Account status
This data enables customer segmentation within PureClarity, allowing for personalized experiences based on customer attributes.
## Brand Feed
When enabled, this feed sends **brand information** for your products.
**Requirements for activation:**
* Brand name (required)
* Brand image (required for full functionality)
**What's included:**
* Brand names and identifiers
* Brand images and logos
* Brand descriptions and metadata
Brands can also represent vendors or manufacturers. A complete brand setup (name + image) activates brand recommenders and enhanced search functionality in PureClarity.
For setup instructions, see [Enabling the Brand Feed](/integrations/magento/magento-2/enabling-brand-feed).
## Order History Feed
Contains **historic order data** from the last 12 months.
**What's included:**
* Customer purchase history
* Product associations and purchase patterns
* Order values and frequencies
* Customer-product relationships
Orders should only be imported once. If orders are imported a second time, they are automatically dropped by the system to prevent data duplication.
**Purpose:**
This feed provides crucial data for:
* Activating personalization algorithms
* Training recommendation engines
* Understanding purchase patterns
* Associating buying activities to customers
The order history feed is essential for "cold start" scenarios, giving PureClarity historical context to begin providing accurate recommendations immediately.
## Feed Management
All feeds can be managed through:
* **Automatic scheduling** (nightly at 3am)
* **Real-time updates** (via indexing)
* **Manual execution** (on-demand)
For more information about when feeds run, see [When Data Feeds Run](/integrations/magento/magento-2/when-feeds-run).
To monitor feed status and troubleshoot issues, see [Feed Status Guide](/integrations/magento/magento-2/feed-status).
# When Data Feeds Run
Source: https://docs.pureclarity.com/integrations/magento/magento-2/when-feeds-run
Understanding the different scheduling options for data feeds in Magento 2.x - nightly, real-time indexing, and manual execution
PureClarity data feeds can be sent from your Magento store in three different ways, each serving different use cases for keeping your data synchronized.
## Nightly Feeds (Scheduled)
**Default Schedule:** 3:00 AM daily\
**Method:** Cron process\
**Feed Types:** Product, Category, and User feeds
By default, complete feeds of all product, category, and user data are sent nightly. This ensures a full data refresh and captures any changes that might have been missed by real-time indexing.
Nightly feeds send complete datasets, providing a comprehensive backup to real-time updates and ensuring data consistency.
## Real-Time Updates (Delta Indexing)
**Frequency:** Every minute\
**Method:** Magento indexers\
**Feed Types:** Product and Category feeds\
**Status:** Enabled by default
The PureClarity plugin includes dedicated indexers that track changes to product and category data. When products or categories are modified in Magento, the changes are recorded and sent to PureClarity within minutes.
### How Delta Indexing Works
1. **Change Detection:** When you modify a product or category, Magento records the change
2. **Queue Processing:** A cron job runs every minute to collect changed items
3. **Data Transmission:** Only the updated data is sent to PureClarity
4. **Fast Updates:** Changes appear in PureClarity within 1-2 minutes
For optimal performance, ensure your Magento indexers are set to **"Update by Schedule"** mode. This is configured in **System > Index Management** in the Magento admin.
### Indexer Configuration
Navigate to **System > Index Management** and verify that PureClarity indexers show the correct status:
Real-time indexing means that product updates, price changes, and inventory modifications are reflected in PureClarity recommendations almost immediately.
## Manual Feed Execution
Sometimes you may need to manually trigger feeds outside of the automatic schedule.
### When to Use Manual Feeds
* **Initial setup:** Send complete data after installation
* **Bulk changes:** After importing large product catalogs
* **Troubleshooting:** Resolve data inconsistencies
* **Testing:** Verify feed functionality
### How to Run Manual Feeds
1. Navigate to the **PureClarity Dashboard** page in Magento admin
2. In the **Data Feeds** panel, click **"Run Feeds Manually"**
3. Select the feed types you want to send:
4. Click **"Run feeds now"** to queue the selected feeds
Manual feed requests are processed by the same cron job that runs every minute, so feeds will begin processing within 1-2 minutes of submission.
## Feed Priority and Processing
**Processing Order:**
1. Manual feed requests (highest priority)
2. Real-time delta updates
3. Scheduled nightly feeds (lowest priority)
**Resource Management:**
* Only one feed type processes at a time to prevent server overload
* Large feeds are processed in batches
* Failed feeds are automatically retried
This priority system ensures that urgent manual updates and real-time changes take precedence over routine scheduled feeds.
## Monitoring Feed Execution
Track your feed status and execution times on the PureClarity dashboard. For detailed information about feed statuses, see [Feed Status Guide](/integrations/magento/magento-2/feed-status).
For troubleshooting feed failures, see [Feed Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors).
## Best Practices
* **Keep indexers on "Update by Schedule"** for optimal real-time performance
* **Use manual feeds sparingly** to avoid overwhelming the system
* **Monitor feed status regularly** to catch issues early
* **Schedule bulk updates during low-traffic periods** when possible
# Zone Debug Mode
Source: https://docs.pureclarity.com/integrations/magento/magento-2/zone-debug
How to enable and use zone debug mode in Magento 2.x to visualize zone placement and troubleshoot zone issues
Zone debug mode helps you visualize where PureClarity zones are positioned on your site, making it easier to troubleshoot zone placement and configuration issues.
## Enabling Zone Debug Mode
To enable zone debug mode:
1. Navigate to **Stores > Configuration > PureClarity**
2. Expand the **Advanced** section
3. Set **Debug Mode** to **"Yes"**
4. Click **"Save Config"**
Debug mode should only be enabled during development or troubleshooting. Always disable it on production sites before going live.
## What Debug Mode Shows
When debug mode is enabled, zones that aren't populated by PureClarity will display their identification information instead of remaining invisible.
### Debug Display Format
Unpopulated zones will show:
* **Zone Name** - The descriptive name of the zone
* **Zone ID** - The unique identifier used in campaigns
## When to Use Debug Mode
### Development Scenarios
* **Initial zone setup** - Verify zones appear in correct locations
* **Widget placement testing** - Confirm layout updates work as intended
* **Theme integration** - Check zone positioning with custom themes
* **Multi-store configuration** - Validate zones on different store views
### Troubleshooting Scenarios
* **Missing zones** - Identify if zones are placed but not populated
* **Layout issues** - Verify zone containers and positioning
* **Campaign connectivity** - Distinguish between placement and content issues
* **Cache problems** - Confirm zones render after cache clears
Debug mode only shows zones that are properly placed but not receiving content from PureClarity. Zones with configuration errors may not appear at all.
## Interpreting Debug Information
### Zone Visibility States
| Debug Display | Meaning | Next Steps |
| ---------------------- | ---------------------------------- | ------------------------------------- |
| Zone name + ID visible | Zone placed correctly, no content | Check campaign configuration |
| Nothing visible | Zone not placed or disabled | Verify widget/layout configuration |
| Fallback content | Zone working, using backup content | Normal operation or campaign inactive |
### Common Debug Scenarios
**Scenario 1: Zone ID Shows**
* **Status:** Zone placement successful
* **Issue:** No active campaign or campaign mismatch
* **Solution:** Check campaign configuration in PureClarity admin
**Scenario 2: No Debug Display**
* **Status:** Zone not rendering at all
* **Issue:** Widget configuration or cache problem
* **Solution:** Review widget setup and clear caches
**Scenario 3: Wrong Position**
* **Status:** Zone shows in unexpected location
* **Issue:** Layout update configuration error
* **Solution:** Adjust widget layout settings
## Debug Mode Best Practices
### Development Workflow
1. **Enable debug mode** before testing new zones
2. **Test all pages** where zones should appear
3. **Document zone positions** and IDs for team reference
4. **Disable debug mode** before production deployment
### Troubleshooting Workflow
1. **Enable debug mode** to visualize zone issues
2. **Check zone placement** on affected pages
3. **Verify zone IDs** match campaign configuration
4. **Test with campaigns** active and inactive
5. **Disable debug mode** after issue resolution
Take screenshots of debug displays to document zone layouts and share with team members or support staff.
## Security and Performance Considerations
### Production Environment
* **Never leave enabled** on live sites
* **Test privately** before public deployment
* **Use staging environments** for extensive debugging
* **Monitor performance** as debug mode may add slight overhead
### Access Control
* **Limit admin access** to configuration changes
* **Document debug procedures** for team members
* **Use development copies** of production data when possible
Debug information could potentially reveal site structure details to visitors. Always disable debug mode on public-facing sites.
## Advanced Debugging Techniques
### Browser Developer Tools
Combine debug mode with browser inspector to:
* **Examine HTML structure** around debug displays
* **Check CSS styling** affecting zone appearance
* **Monitor network requests** for PureClarity content
* **Test responsive behavior** across device sizes
### Debug Mode + Cache Testing
* **Clear specific caches** and check zone behavior
* **Test with cache disabled** during development
* **Verify zone persistence** across cache rebuilds
## Related Debugging Resources
### Configuration Validation
* [Environment & Credentials](/integrations/magento/magento-2/environment-credentials) - Verify basic setup
* [Feed Status](/integrations/magento/magento-2/feed-status) - Check data synchronization
* [Dashboard Overview](/integrations/magento/magento-2/dashboard) - Monitor system health
### Zone Troubleshooting
* [Why Zones Not Showing](/integrations/magento/magento-2/zones-not-showing) - Comprehensive zone troubleshooting
* [Adding Zones Using Widgets](/integrations/magento/magento-2/adding-zones-widgets) - Widget configuration guide
* [Default Zone Installation](/integrations/magento/magento-2/default-zone-installation) - Standard zone setup
### Magento Resources
* [Configuration Mode](/integrations/magento/magento-2/configuration-mode) - Development vs production settings
* [Magento Logs](/integrations/magento/magento-2/logs) - System-level debugging information
## Disabling Debug Mode
After troubleshooting:
1. Return to **Stores > Configuration > PureClarity**
2. Set **Debug Mode** to **"No"**
3. Click **"Save Config"**
4. Clear relevant caches
5. Verify zones display properly without debug information
Remember to clear page cache and block HTML output cache after disabling debug mode to ensure debug displays are fully removed from your site.
# Zones Not Showing Troubleshooting
Source: https://docs.pureclarity.com/integrations/magento/magento-2/zones-not-showing
Step-by-step guide to diagnose and fix issues when PureClarity zones aren't displaying on your Magento 2.x site
When PureClarity zones aren't displaying on your site, the issue typically involves cache settings, zone configuration, or widget setup. This guide provides systematic troubleshooting steps to identify and resolve zone display problems.
## Quick Diagnosis Steps
Start with these immediate checks:
* [ ] **Recently added zones** - Cache may need clearing
* [ ] **Module enabled** - Verify PureClarity is active
* [ ] **Zone placement** - Confirm widgets/HTML are correctly positioned
* [ ] **Active campaigns** - Check PureClarity admin for campaign status
* [ ] **Network connectivity** - Ensure connection to PureClarity servers
## Cache-Related Issues
### 1. Clear Magento Caches
After adding new zones, specific caches must be cleared for zones to appear:
**Required cache types to clear:**
* **Layouts** - Template structure changes
* **Blocks HTML output** - Cached HTML content
* **Page Cache** - Full page caching
**How to clear caches:**
1. Navigate to **System > Cache Management**
2. **Select required cache types**
3. **Choose "Refresh" from Actions dropdown**
4. **Click Submit**
Alternatively, use command line:
```bash theme={null}
php bin/magento cache:clean layout block_html full_page
```
Cache clearing is essential after any zone-related changes, including widget creation, template modifications, or configuration updates.
### 2. Disable Cache for Testing
Temporarily disable caching to isolate cache-related issues:
1. Navigate to **System > Cache Management**
2. **Disable Layout, Block HTML, and Page Cache**
3. **Test zone display**
4. **Re-enable caches** after testing
Only disable caches temporarily for testing. Running production sites without cache significantly impacts performance.
## Zone Debug Investigation
### 3. Enable Zone Debug Mode
Use debug mode to visualize zone placement and identify issues:
1. Navigate to **Stores > Configuration > PureClarity > Advanced**
2. Set **Debug Mode** to **"Yes"**
3. **Save configuration**
4. **Clear layout and block HTML caches**
5. **Visit pages** where zones should appear
**What debug mode shows:**
* **Zone placeholders** with zone IDs when zones are placed but not populated
* **Zone positions** for layout verification
* **Zone identification** for campaign matching
For detailed debug mode usage, see [Zone Debug Mode Guide](/integrations/magento/magento-2/zone-debug).
### 4. Interpret Debug Output
**If you see zone debug information:**
* ✅ **Zone placement is correct**
* ❌ **Zone content isn't loading**
* **Next step:** Check campaign configuration
**If you don't see any debug information:**
* ❌ **Zone placement problem**
* **Next step:** Verify widget/HTML configuration
Debug mode only shows zones that are properly placed but not receiving content. Missing debug output indicates placement issues.
## Configuration Verification
### 5. Check Module Status
Verify PureClarity module is enabled:
1. Navigate to **Stores > Configuration > PureClarity > Environment & Credentials**
2. Confirm **Enabled** is set to **"Yes"**
3. **Save configuration** if changes made
4. **Clear configuration cache**
**If module is disabled:**
* Zones won't display regardless of other settings
* JavaScript won't load for client-side zones
* Server-side processing won't occur
For configuration details, see [Environment & Credentials](/integrations/magento/magento-2/environment-credentials).
### 6. Verify Credentials
Check that connection credentials are correct:
**Required fields:**
* **Access Key** - Must match PureClarity account
* **Secret Key** - Must be current and valid
* **Region** - Must match account region (USA/Europe)
**Testing connectivity:**
1. **Save configuration** with correct credentials
2. **Run manual feeds** to test connection
3. **Check feed status** for authentication errors
4. **Monitor error logs** for connection issues
Incorrect credentials prevent zones from loading content even if properly placed. Always verify credentials after configuration changes.
## Widget Configuration Issues
### 7. Review Widget Setup
Check widget configuration for zone placement issues:
1. Navigate to **Content > Widgets**
2. **Locate PureClarity Zone widgets**
3. **Edit widgets** to verify configuration
**Widget configuration checklist:**
* [ ] **Zone ID** matches campaign configuration
* [ ] **Store view** assignment is correct
* [ ] **Layout updates** target appropriate pages
* [ ] **Container selection** is valid for theme
* [ ] **Widget status** is enabled
For complete widget setup instructions, see [Adding Zones Using Widgets](/integrations/magento/magento-2/adding-zones-widgets).
### 8. Validate Layout Updates
Review widget layout updates for proper page targeting:
**Common layout issues:**
* **Incorrect page selection** - Widget targets wrong pages
* **Invalid container** - Container doesn't exist in theme
* **Theme compatibility** - Widget conflicts with theme structure
* **Sort order problems** - Widget positioning conflicts
**Testing layout updates:**
1. **Create simple test widget** with basic configuration
2. **Place on homepage** for easy testing
3. **Clear caches** and verify display
4. **Gradually add complexity** to isolate issues
## HTML Zone Issues
### 9. Verify HTML Syntax
For zones added via direct HTML integration:
**Check HTML syntax by display mode:**
**Client-side mode:**
```html theme={null}
```
**Server-side mode:**
```html theme={null}
```
**Common HTML errors:**
* **Wrong mode syntax** - Using client-side HTML in server-side mode
* **Typos in attributes** - Misspelled data attributes
* **Missing semicolon** - Client-side syntax requires trailing semicolon
* **Incorrect zone ID** - Mismatch with campaign configuration
For HTML integration details, see [Adding Zones Using HTML](/integrations/magento/magento-2/adding-zones-html).
### 10. Template Integration Issues
Check template file modifications:
**Validation steps:**
1. **Verify template compilation** - No syntax errors
2. **Check file permissions** - Templates are readable
3. **Confirm template hierarchy** - Correct template inheritance
4. **Test template logic** - Conditional statements work correctly
**Common template problems:**
* **Syntax errors** preventing compilation
* **Incorrect template paths** - Files in wrong locations
* **Theme conflicts** - Customizations conflict with theme updates
* **PHP errors** - Logic errors in template modifications
## Campaign Configuration
### 11. Verify Campaign Setup
Check PureClarity admin for campaign configuration:
**Campaign checklist:**
* [ ] **Campaign is active** and published
* [ ] **Zone IDs match** widget/HTML configuration
* [ ] **Targeting rules** include your test pages
* [ ] **Content is available** for recommendations
* [ ] **Scheduling** allows current display
**Testing campaigns:**
1. **Create simple test campaign** with basic zone
2. **Use easily identifiable content**
3. **Test on staging environment** first
4. **Monitor campaign analytics** for activity
### 12. Check Data Requirements
Ensure sufficient data exists for recommendations:
**Data requirements:**
* **Product feed** completed successfully
* **Category feed** sent if using category recommendations
* **User data** available for personalization
* **Historical orders** for behavioral recommendations
**Feed validation:**
1. **Check feed status** in Magento dashboard
2. **Review feed logs** for completion
3. **Verify data in PureClarity admin**
4. **Test with different recommendation types**
## Network and Performance Issues
### 13. Test Network Connectivity
Verify connection to PureClarity servers:
**Browser testing:**
1. **Open browser developer tools**
2. **Visit page with zones**
3. **Check Network tab** for PureClarity requests
4. **Look for failed requests** or timeouts
**Common network issues:**
* **Firewall blocking** PureClarity domains
* **DNS resolution** problems
* **SSL certificate** validation issues
* **Timeout settings** too restrictive
### 14. Performance Considerations
Check for performance-related zone issues:
**Performance factors:**
* **Page load speed** affecting JavaScript execution
* **Server response time** for server-side zones
* **Memory limitations** during zone processing
* **Third-party conflicts** with other JavaScript
**Performance testing:**
1. **Test on fast connection** to isolate network issues
2. **Disable other extensions** temporarily
3. **Monitor server resources** during zone loading
4. **Use simple zone configurations** for testing
## Advanced Troubleshooting
### 15. JavaScript Console Errors
Check browser console for JavaScript errors:
**Common JavaScript issues:**
* **Script loading failures** - PureClarity JavaScript not loading
* **Conflicts with other scripts** - JavaScript errors preventing execution
* **Browser compatibility** - Unsupported JavaScript features
* **Content Security Policy** restrictions
**Console debugging:**
1. **Open browser developer tools**
2. **Check Console tab** for errors
3. **Look for PureClarity-related** error messages
4. **Test with different browsers**
### 16. Server-Side Debugging
For server-side mode implementations:
**Server-side troubleshooting:**
1. **Check PHP error logs** for processing errors
2. **Verify template rendering** logic
3. **Test server-side requests** to PureClarity
4. **Monitor server performance** during zone processing
## Resolution Workflow
### Systematic Approach
1. **Clear caches** - Start with cache-related fixes
2. **Enable debug mode** - Visualize zone placement
3. **Verify configuration** - Check module and credentials
4. **Test widgets/HTML** - Validate zone placement code
5. **Check campaigns** - Confirm PureClarity admin setup
6. **Test connectivity** - Verify network communication
### When Each Step Resolves Issues
* **Cache clearing** → Zones appear after recent changes
* **Debug mode** → Identifies placement vs content issues
* **Configuration fixes** → Resolves module or credential problems
* **Widget/HTML fixes** → Corrects placement issues
* **Campaign fixes** → Resolves content delivery problems
* **Connectivity fixes** → Solves network-related issues
## Prevention and Best Practices
### Development Workflow
* **Test in staging** before production deployment
* **Clear caches** after any zone-related changes
* **Use debug mode** during development
* **Document zone placements** for team reference
### Monitoring Setup
* **Regular cache maintenance** schedule
* **Zone performance** monitoring
* **Campaign analytics** review
* **Error log** monitoring for zone issues
## When to Contact Support
Contact PureClarity support when:
* **Systematic troubleshooting** doesn't resolve issues
* **Network connectivity** problems persist
* **Complex campaign** configuration needed
* **Custom implementation** requires assistance
**Information to provide:**
* **Debug mode screenshots** showing zone placement
* **Browser console** error messages
* **Campaign configuration** details
* **Recent changes** to site or configuration
## Related Resources
### Zone Setup Guides
* [Adding Zones Using Widgets](/integrations/magento/magento-2/adding-zones-widgets) - Widget-based zone placement
* [Adding Zones Using HTML](/integrations/magento/magento-2/adding-zones-html) - Direct HTML integration
* [Zone Debug Mode](/integrations/magento/magento-2/zone-debug) - Debug mode usage
### Configuration References
* [Environment & Credentials](/integrations/magento/magento-2/environment-credentials) - Basic configuration
* [Configuration Mode](/integrations/magento/magento-2/configuration-mode) - Client-side vs server-side
* [Dashboard Overview](/integrations/magento/magento-2/dashboard) - System monitoring
### Other Troubleshooting
* [Products Not Updating](/integrations/magento/magento-2/products-not-updating) - Data synchronization issues
* [Feed Troubleshooting](/integrations/magento/magento-2/feeds-failing-errors) - Feed-related problems
# Shopify Installation
Source: https://docs.pureclarity.com/integrations/shopify/installation
Complete guide to installing PureClarity from the Shopify App Store and choosing your personalization plan
This guide covers installing PureClarity from the Shopify App Store and setting up personalization for your store.
The PureClarity app is available on the [Shopify App Store](https://apps.shopify.com/pureclarity) with both automated and advanced personalization options.
## Choosing Your Plan Type
After installing the app and approving permissions, you'll be prompted to select your plan. PureClarity offers two distinct plan types for Shopify stores:
Select your plan type and estimated monthly page impressions. You can adjust your plan later if needed.
Click **Start Trial** to begin your PureClarity experience.
## Plan Options
### Personalised Recommendations Plan
Ideal for smaller stores (up to 100k page views monthly) seeking quick implementation:
* **Automated product recommendations** that adapt as users navigate your site
* **Personalized experiences** based on customer behavior
* **Quick setup** with minimal configuration required
* **Starting at \$39/month** for stores under 25k page views
This plan provides immediate value with minimal setup time, perfect for getting started with personalization.
### Personalisation Suite Plan
Comprehensive personalization platform for growth-focused stores:
* **Full control** over recommendation styling and placement
* **Detailed analytics** for each recommendation zone
* **Complete site personalization** including content and messaging
* **Pop-up campaigns**
* **Starting at \$99/month** for stores under 25k page impressions
Recommended for larger stores or merchants focused on maximizing conversion rates and building customer loyalty.
## Account Setup Process
After clicking **Start Trial** and approving the Shopify charge, PureClarity automatically configures your account (typically under one minute):
## Data Import Process
PureClarity automatically imports your complete store data:
* **Products and collections**
* **Customer information**
* **Order history**
This data enables PureClarity to:
* Identify product relationships for upselling and cross-selling
* Understand customer behavior patterns for personalization
* Create targeted experiences for different customer segments (Personalisation Suite only)
## Plan-Specific Setup
### Automated Recommender Plan Setup
If you chose the automated recommender plan, you'll see a simple setup wizard:
* **Quick configuration** (typically 2-3 minutes)
* **Immediate results** - customers see recommendations right away
* **Continuous improvement** over the first 24 hours as data imports complete
Find detailed information about the automated recommender plan in our [Personalised Recommendations Plan guide](/integrations/shopify/personalised-recommendations).
### Personalisation Suite Plan Setup
Personalisation Suite users are taken directly to the PureClarity dashboard with access to:
* **Dedicated success manager** - complimentary onboarding and monthly optimization calls
* **Complete platform access** for advanced personalization
* **Getting started guidance** based on your theme type
#### Theme-Specific Guides:
* **Online Store 2.0 themes**: [Getting Started Guide for Online Store 2.0](/integrations/shopify/online-store-2-themes)
* **Vintage themes**: [Getting Started Guide for Vintage Themes](/integrations/shopify/vintage-themes)
Data import may take time due to Shopify API rate limits. Feel free to explore the dashboard while import completes in the background.
## Free Trial Details
* **Automated Recommender Plan**: 7-day free trial
* **Personalisation Suite**: 30-day free trial
Both trials provide full access to all plan features.
## Billing and Plan Management
After your free trial:
* **Automatic billing** through your Shopify account every 30 days
* **Flexible plan changes** available anytime through the dashboard
* **Usage monitoring** with automatic upgrade prompts if you exceed plan limits
* **Tiered pricing** structure - see our [pricing page](https://www.pureclarity.com/us/pricing/) for details
Access billing management through the PureClarity dashboard or navigate to **My Account > Billing** for payment details and plan modifications.
# Shopify Online Store 2.0 Theme Setup
Source: https://docs.pureclarity.com/integrations/shopify/online-store-2-themes
Streamlined setup guide for PureClarity personalization on modern Shopify Online Store 2.0 themes with enhanced app integration
Shopify Online Store 2.0 themes feature enhanced app integration capabilities, making PureClarity setup faster and more streamlined than vintage themes.
This guide walks you through setting up PureClarity on our personalization suite plan. **We recommend [booking in a call](https://calendly.com/john-barton-4zg/30min) if you'd like help getting started.**
Online Store 2.0 themes automatically handle PureClarity integration through app blocks, eliminating the need for manual code changes required in vintage themes.
## Overview of PureClarity Content
PureClarity delivers personalized shopping experiences that convert more customers and increase average basket value.
**Content types available:**
* Personalized product recommendations
* Dynamic promotional banners
* Pop-ups and engagement overlays
* Email personalization
## Simplified Setup Process
Online Store 2.0 themes require only 3 steps:
1. **Enable the PureClarity Shopify App Embed** block
2. **Set up campaigns** and content in PureClarity
3. **Add PureClarity zones** to your theme pages
## Setting Up Campaigns First
Start by configuring what content PureClarity will display:
1. In PureClarity, click **Campaigns**
2. Follow the automated wizard for setup
3. **Select "Embedded Recommender" campaigns** for automatic configuration
Setting up campaigns before adding zones ensures you have content ready to display immediately when zones are activated.
PureClarity will create several campaign types automatically:
**Example automated campaigns:**
* Homepage trending products
* Product page cross-sells
* Cart page upsells
* Category recommendations
### Testing Recommendations
Test stores may not show recommendations on all pages due to limited data. Use these strategies for testing:
* **Set minimum items to 1**: Increases chances of display with limited product data
* **Use Custom Recommenders**: Manually select products to show during testing
## Enabling PureClarity in Your Theme
### Using Theme Manager
1. In PureClarity, click **Shopify Theme Manager**
2. Wait for your store themes to load
3. Identify your Online Store 2.0 theme (marked as current if published)
4. Click **Enable PureClarity** next to your desired theme
5. You'll be redirected to Shopify theme settings
### Activating App Embed
In the Shopify theme settings:
1. Locate the **PureClarity App Embed** block
2. **Toggle it ON** to activate PureClarity
3. This enables PureClarity tracking and content display site-wide
The App Embed block must be enabled for PureClarity to function. This is a one-time setup that affects the entire theme.
## Adding PureClarity Zones
Zones are content areas where PureClarity displays personalized recommendations and campaigns.
### Adding a Zone
1. In the Shopify theme editor, click **Add section**
2. Find and select **PureClarity Zone**
3. A new zone area appears on your page
4. Configure the zone reference ID
### Zone Configuration
**Zone reference naming:**
* Use descriptive, consistent naming
* Match references to campaigns in PureClarity
* Follow recommended naming conventions
**Recommended zone references:**
| Page Type | Zone References | Purpose |
| ---------------- | -------------------------- | ------------------------------- |
| **Homepage** | HP-01, HP-02, HP-03, HP-04 | Trending products, new arrivals |
| **Product Page** | PP-01, PP-02 | Related products, alternatives |
| **Cart Page** | BP-01, BP-02 | Upsells, recommendations |
### Zone Preview
The Shopify editor provides real-time preview:
* Zones display immediately when properly configured
* Content appears based on your campaign setup
* Preview updates as you modify zone settings
If zones don't display content immediately, verify that:
* App Embed block is enabled
* Campaigns are properly configured
* Zone reference matches campaign targeting
## Recommended Zone Placement
Add zones to these key pages for maximum impact:
### Homepage
* **1-2 zones**: Feature trending products for new visitors, personalized selections for returning customers
* **Placement**: Between hero section and product collections
### Product Pages
* **1-2 zones**: Show related products and alternatives
* **Benefits**: Faster product discovery, valuable upsell opportunities
### Cart/Basket Pages
* **1-2 zones**: Display relevant products based on cart contents
* **Goal**: Increase average order value through strategic upselling
### Additional Pages
Consider adding zones to:
* Collection/category pages
* Search results pages
* Blog/content pages
## Testing Your Setup
After adding zones:
1. **Visit your storefront** and browse different pages
2. **Click through products** to help PureClarity learn preferences
3. **Verify zone display** across different page types
4. **Check responsive behavior** on mobile and tablet
PureClarity's recommendations improve over the first 24 hours as the AI learns from customer behavior patterns.
## Advanced Features
### Brand Promotion
PureClarity automatically leverages Shopify Vendors for brand recommendations:
**Setup requirements:**
* Collections with rule "Product Vendor is equal to \[Brand Name]"
* Collection name, description, and image represent the brand
* Automatic detection and use in brand recommenders
**Available brand features:**
* "Recommended Brands for You"
* "Best Selling Brands"
* Brand-specific product recommendations
**Control options:**
* Disable brand recommenders in PureClarity admin
* Navigate to Configuration > Recommenders for settings
### Analytics and Insights
Monitor performance through:
* **Real-time dashboard**: Updated continuously with key metrics
* **Detailed analytics**: Access via [Analytics section](/features/analytics/overview)
* **Campaign performance**: Track individual campaign success
### Billing Management
**Billing structure:**
* **Frequency**: Every 30 days through Shopify
* **Management**: Access via "Billing Management" on Dashboard
* **Plan details**: View at "My Account" > "Billing"
* **Pricing tiers**: Available on [PureClarity pricing page](https://www.pureclarity.com/us/pricing/)
**Usage monitoring:**
* Email notifications for plan limit approaches
* Automatic upgrade prompts when necessary
* Grace period for plan adjustments
## Uninstalling PureClarity
Online Store 2.0 themes automatically handle PureClarity removal, making uninstallation simple and clean.
**Uninstall process:**
1. Go to **Apps** section in Shopify Admin
2. Find PureClarity in "Installed apps"
3. Click **uninstall** button (far right of app name)
**Automatic cleanup:**
* PureClarity zones automatically removed from theme
* App embed block automatically disabled
* No manual code cleanup required
All store and user data is permanently deleted upon uninstall. PureClarity is fully GDPR compliant.
## Next Steps
**Immediate actions:**
* **Browse your storefront**: Test the customer experience across different pages
* **Monitor performance**: Check real-time analytics in PureClarity dashboard
* **Optimize zones**: Adjust placement based on customer interaction patterns
**Future enhancements:**
* **Schedule consultation**: [Book a call](https://calendly.com/john-barton-4zg/30min) for strategic guidance
* **Explore advanced features**: Review [additional documentation](/features) for extended capabilities
* **Template customization**: Work with support to match your brand aesthetic
The more customers interact with your personalized content, the more effective PureClarity's machine learning becomes at driving conversions and increasing revenue.
# Shopify Personalized Recommendations Plan
Source: https://docs.pureclarity.com/integrations/shopify/personalised-recommendations
Complete setup guide for Shopify stores using PureClarity's automated personalized recommendations plan with step-by-step wizard configuration
The automated personalized recommendations plan provides a streamlined, wizard-guided setup process that gets your Shopify store running with AI-driven product recommendations quickly and efficiently.
This plan focuses specifically on automated product recommendations and includes pre-built templates and configurations optimized for immediate deployment.
## Getting Started with the Setup Wizard
When you select the automated recommender plan, PureClarity launches a guided wizard to walk you through the entire setup process.
1. Click **Next** to begin the wizard
2. **Choose your recommendation style** from pre-built templates
3. **Enable PureClarity** on your chosen theme
4. **Add recommendation blocks** to your pages
## Step 1: Selecting Recommendation Templates
PureClarity provides multiple pre-built recommendation styles designed for different use cases and aesthetic preferences.
**Template categories:**
* **Minimal designs**: Clean, simple layouts that integrate seamlessly
* **Rich media**: Visual-focused templates with enhanced product imagery
* **Compact displays**: Space-efficient designs for sidebar placement
* **Full-width banners**: Prominent recommendations for high-impact areas
Choose templates that match your store's design aesthetic. You can customize templates further on the personalization suite plan.
Select your preferred template and proceed to the next step. **Complete each step before advancing** to ensure proper configuration.
## Step 2: Theme Installation
Installation methods vary based on your Shopify theme type. PureClarity automatically detects your theme version and provides appropriate instructions.
### Online Store 2.0 Theme Installation
2.0 themes offer streamlined app integration with automatic block management and easier setup.
**Setup process:**
1. Click **Enable PureClarity** next to your 2.0 theme
2. **Enable the PureClarity Script** - this activates customer tracking and personalization
3. In the wizard, click **Next** to proceed
4. **Watch the setup video** provided in the wizard
5. **Add 1 or more PureClarity blocks** in Shopify
**Recommended block placement:**
| Page Type | Recommendation | Benefits |
| ---------------- | -------------- | --------------------------------------------------------------------------------------- |
| **Homepage** | 1-2 blocks | Show trending products to new visitors, personalized selections for returning customers |
| **Product Page** | 1-2 blocks | Display related and alternative products for faster discovery and upselling |
| **Cart Page** | 1 block | Increase average order value with relevant basket-based recommendations |
### Vintage Theme Installation
For vintage themes, PureClarity automatically adds zone snippets to key template files:
**Auto-installed locations:**
* `templates/product.liquid`
* `templates/collection.liquid`
* `templates/list-collections.liquid`
* `templates/cart.liquid`
* `templates/search.liquid`
**Zone snippet placement**: Added to the bottom of each file for immediate functionality.
#### Customizing Zone Placement
Always duplicate your theme before making manual changes to ensure you can safely test modifications.
**To modify zone placement:**
1. Go to **Online Store > Themes**
2. Click **Actions > Duplicate** on your current theme
3. Make changes on the duplicated theme
4. Test thoroughly before publishing
**Adding additional zones:**
Insert this snippet where you want recommendations to appear:
```liquid theme={null}
{% include 'pureclarity-zone' %}
```
**Publishing changes:**
1. Go to **Online Store > Themes**
2. On your modified theme, click **Actions > Publish**
## Step 3: Completing Setup and Activation
Once blocks are added, PureClarity begins displaying recommendations immediately:
Initial data sync may take time. Recommendations significantly improve over the first 24 hours as the AI learns from customer behavior.
**Completing the wizard:**
1. Verify blocks are displaying content
2. Complete the wizard to access the dashboard
3. Review real-time performance statistics
## Dashboard Overview and Management
The PureClarity dashboard provides real-time insights and management tools:
### Performance Analytics
**Key metrics displayed:**
* **Recommendation performance**: Click-through rates and conversion data
* **Revenue attribution**: Direct revenue impact from recommendations
* **Customer engagement**: Interaction patterns and behavior insights
* **Time period controls**: Adjustable reporting periods for analysis
### Management Features
Access these settings through the main menu:
**Auto Recommenders**
* **Template selection**: Change recommendation display styles
* **Layout options**: Adjust appearance and positioning
* **Content filtering**: Control which products appear in recommendations
**Shopify Themes**
* **Theme management**: Control which themes have PureClarity enabled
* **Installation status**: Monitor theme integration status
* **Multi-theme support**: Manage multiple theme installations
**Configuration**
* **Currency settings**: Ensure proper pricing display
* **Timezone configuration**: Align analytics with business hours
* **Regional settings**: Optimize for local markets
**Recommenders**
* **Title customization**: Modify recommendation section headers
* **Language support**: Adapt titles for non-English sites
* **Content categories**: Configure different recommendation types
**Billing**
* **Payment schedule**: View upcoming billing dates via Shopify
* **Plan management**: Upgrade or modify subscription plans
* **Usage monitoring**: Track plan limits and usage metrics
**Profile**
* **Account details**: Update name and email address
* **User preferences**: Customize dashboard experience
* **Notification settings**: Control alert preferences
**Help & Support**
* **Customer support**: Direct access to assistance
* **Documentation**: Links to guides and resources
* **Feature requests**: Submit suggestions for improvements
## Uninstallation Process
Uninstallation steps depend on your theme type:
### Online Store 2.0 Themes
2.0 themes automatically handle PureClarity removal, requiring no manual cleanup.
**Uninstall steps:**
1. Go to **Settings > Apps and sales channels** in Shopify Admin
2. Find PureClarity app
3. Click **remove** button (far right)
### Vintage Themes
Manual cleanup is required for vintage themes to prevent site errors after uninstallation.
**Pre-uninstall cleanup:**
1. Use **Shopify Theme Manager** to remove automatically installed assets
2. **Manually remove** any custom zones you added
3. Check for edited files (marked with purple circles)
4. Remove PureClarity snippets from modified files
5. Save each file after editing
**Final uninstall:**
1. Go to **Settings > Apps and sales channels**
2. Find PureClarity app
3. Click **remove** button
All customer and store data is permanently deleted upon uninstall. PureClarity maintains full GDPR compliance.
## Optimization Tips
**Maximizing recommendation performance:**
**For new stores:**
* Allow 24-48 hours for initial learning
* Encourage early customer interaction
* Monitor dashboard metrics for optimization opportunities
**For established stores:**
* Review recommendation performance weekly
* Adjust template styles based on engagement data
* Experiment with different block placements
**Testing strategies:**
* Use A/B testing for block placement
* Compare performance across different page types
* Monitor customer journey improvements
## Next Steps
**Immediate actions:**
* **Browse your storefront**: Experience recommendations from a customer perspective
* **Monitor dashboard**: Track real-time performance improvements
* **Collect feedback**: Gather initial customer responses
**Ongoing optimization:**
* **Weekly reviews**: Analyze performance trends and adjust accordingly
* **Template testing**: Experiment with different styles for optimal engagement
* **Support consultation**: Contact support for advanced optimization strategies
**Future enhancements:**
* **Plan upgrades**: Consider personalization suite for advanced features
* **Integration expansion**: Explore additional PureClarity capabilities
* **Performance scaling**: Optimize for growing traffic and sales
The automated recommendations plan provides immediate value while learning from your customers' behavior to continuously improve performance and drive higher conversion rates.
# Shopify Vintage Theme Setup
Source: https://docs.pureclarity.com/integrations/shopify/vintage-themes
Complete guide for setting up PureClarity personalization on Shopify vintage themes with manual configuration steps
This guide walks you through setting up PureClarity on Shopify vintage themes using our personalization suite plan. **We recommend [booking in a call](https://calendly.com/john-barton-4zg/30min) if you'd like help getting started.**
This guide continues from the [Shopify Installation](/integrations/shopify/installation) article and focuses specifically on vintage theme implementation.
## Overview of PureClarity Content
PureClarity shows personalized recommenders and content on your shop to convert more customers and increase average basket value.
**Available content types include:**
* Personalized product recommendations
* Dynamic banners and promotional content
* Pop-ups and overlays
* Email personalization
## Setup Process
There are 4 key steps to get PureClarity working on vintage themes:
1. **Adding required files** to your theme
2. **Enabling the PureClarity Shopify App Embed** block
3. **Adding zones** to your theme templates
4. **Setting up campaigns** for your zones
## Adding Required Files
Due to Shopify changes, apps can no longer automatically modify vintage themes. You must make these changes manually or request collaborator access for us to help.
You need to add two essential files to your vintage theme:
### File 1: Zone Snippet (snippets/pureclarity-zone.liquid)
1. Go to **Online Store > Themes** in your Shopify admin
2. Click the **3 dots** next to the Customize button → **Edit Code**
3. In the **Snippets** folder, click **Add a new snippet**
4. Name it `pureclarity-zone` and click **Done**
5. Copy and paste this code:
```liquid theme={null}
{% comment %}
/**
* PureClarity Zone snippet for Shopify stores.
*
* To use:
* Insert the following inside any .liquid file where you want to show a PureClarity Zone:
* {% include 'pureclarity-zone' with id:'' %}
*
* Where is the Id of the Zone you created in the PureClarity admin (ie. 'HOME-01' etc)
*
* For more details on PureClarity, please visit our website: www.pureclarity.com
*
* Copyright: (c) PureClarity. All rights reserved
*/
{% endcomment %}
{% if shop.metafields.pureclarity.isActive == 1 %}
{% capture _pc_sku %}{% if product %}sku:{{product.id}};{% endif %}{% endcapture %}
{% capture _pc_brand %}{% if product %}brand:{{product.vendor}};{% endif %}{% endcapture %}
{% capture _pc_collection %}{% if collection %}categoryid:{{collection.id}};{% endif %}{% endcapture %}
{% endif %}
```
6. Click **Save** in the top right
### File 2: GUI Zone Section (sections/pureclarity-zone-gui.liquid)
1. In the **Sections** folder, click **Add a new section**
2. Name it `pureclarity-zone-gui` and click **Done**
3. Replace all existing content with this code:
```liquid theme={null}
{% include 'pureclarity-zone' with id: section.settings.zone-reference %}
{% schema %}
{
"name": "PureClarity Zone",
"settings": [
{
"id": "zone-reference",
"type": "text",
"label": "Reference ID",
"default": "Add your reference ID here"
}
],
"presets": [
{
"name": "PureClarity Zone",
"category": "PureClarity"
}
]
}
{% endschema %}
{% stylesheet %}
{% endstylesheet %}
{% javascript %}
{% endjavascript %}
```
4. Click **Save**
## Enabling PureClarity in Your Theme
PureClarity must have its theme app embed block enabled for the platform to function properly.
1. In PureClarity, click **Shopify Theme Manager**
2. Wait for your themes to load
3. Find your vintage theme and click **Enable PureClarity**
4. You'll be redirected to Shopify theme settings
5. **Enable the PureClarity App Embed block** - this activates PureClarity for your theme
## Setting Up Zones in Templates
PureClarity zones are areas where personalized content appears. Add zones to these recommended template files:
**Recommended template files:**
* `templates/product.liquid`
* `templates/collection.liquid`
* `templates/list-collections.liquid`
* `templates/cart.liquid`
* `templates/search.liquid`
### Making Theme Changes Safely
Always duplicate your theme before making changes. This allows you to test PureClarity safely before going live.
**To duplicate your theme:**
1. Go to **Online Store > Themes**
2. Find your current theme
3. Click **Actions > Duplicate**
4. Make all changes on the duplicated theme first
### Adding Zone Snippets
To add zones to any template file, insert this snippet where you want PureClarity content to appear:
```liquid theme={null}
{% include 'pureclarity-zone' with id:'HP-01' %}
```
**Pre-configured zone references:**
| Page Type | Zone References |
| ---------------- | -------------------------- |
| **Homepage** | HP-01, HP-02, HP-03, HP-04 |
| **Product Page** | PP-01, PP-02 |
| **Basket Page** | BP-01, BP-02 |
PureClarity can display up to 8 zones per page, but 4 zones typically provide optimal performance and user experience.
### Publishing Your Changes
Once you're satisfied with the integration:
1. Go to **Online Store > Themes**
2. On your duplicated theme, click **Actions > Publish**
## Adding Homepage Zones via Page Builder
The homepage uses Shopify's Page Builder, making zone addition visual and straightforward:
1. Click **Themes** in Shopify Admin
2. Click **Customize** (preferably on your theme copy)
3. Click **Add Section** on the Homepage
4. Find and select **PureClarity Zone**
5. Enter the zone ID (use **HP-01** for the first zone)
6. Click **Save**
The zone should immediately display PureClarity content if campaigns are configured.
## Setting Up Campaigns
PureClarity provides automated wizards for initial setup:
1. In PureClarity, click **Campaigns**
2. Follow the on-screen setup instructions
3. **Start with "Embedded Recommender" campaigns** for automatic setup
For test stores with limited data, set the minimum number of items to show to 1, or use Custom Recommenders with Manual Product Recommender sources.
## Advanced Features
### Brand Recommendations
PureClarity automatically detects and promotes Shopify Vendors as brands:
* **Requirements**: Collections with single rule "Product Vendor is equal to \[Brand Name]"
* **Usage**: Collection name, description, and image represent the brand
* **Control**: Disable brand recommenders in PureClarity admin under Configuration > Recommenders
### Analytics Integration
Access real-time analytics through:
* **Dashboard summary**: Updated in real-time
* **Detailed analytics**: Available in the [Analytics section](/features/analytics/overview)
### Template Customization
Customize recommender appearance:
* Use built-in **Recommender Templates**
* Edit templates in PureClarity admin
* Contact support for custom styling assistance
## Billing and Management
* **Billing cycle**: Every 30 days through Shopify
* **Plan management**: Access via "Billing Management" on Dashboard
* **Usage monitoring**: Email notifications for plan limit approaches
* **Pricing details**: Available on [PureClarity pricing page](https://www.pureclarity.com/us/pricing/)
## Uninstalling PureClarity
For vintage themes, manual cleanup is required before uninstalling to prevent site errors.
**Pre-uninstall cleanup:**
1. Remove all PureClarity snippets from template files
2. Look for files with small purple circles (indicates edits)
3. Remove manual zones from **Online Store > Themes > Actions > Edit Code**
4. Save each file after editing
**Final uninstall:**
1. Go to **Apps** in Shopify Admin
2. Find PureClarity in "Installed apps"
3. Click the **uninstall button** (far right)
PureClarity is fully GDPR compliant. All store and user data is permanently deleted upon uninstall.
## Next Steps
* **Test thoroughly**: Visit your storefront and browse to see personalized recommendations
* **Book consultation**: [Schedule a call](https://calendly.com/john-barton-4zg/30min) for guidance
* **Explore features**: Review additional PureClarity capabilities in our documentation
The more customers interact with your site, the better PureClarity's recommendations become through machine learning optimization.
# WooCommerce Dashboard Overview
Source: https://docs.pureclarity.com/integrations/woocommerce/dashboard-overview
Complete guide to the PureClarity WooCommerce plugin dashboard features, display modes, and navigation
This dashboard appears after your PureClarity account is configured and connected to your WooCommerce store. Make sure you've completed the account setup process first.
## Dashboard Overview
Once PureClarity signup is completed and your store is configured, the dashboard displays next steps, data feed information, and access to help resources:
## Header Navigation Bar
The header bar provides quick access to essential features:
### Navigation Links
1. **Settings** - Access the PureClarity plugin settings page
2. **Documentation** - Open the complete plugin documentation
3. **Support** - Pre-filled support email to [support@pureclarity.com](mailto:support@pureclarity.com)
The support link automatically includes your site configuration details to help our team assist you faster.
## Display Mode Configuration
Control how visitors experience PureClarity on your site:
### Available Modes
**Live Mode**
* Every visitor sees personalized recommendations
* Full production experience active
* Real-time personalization for all users
**Test Mode**
* Only administrators see recommendations
* Perfect for testing and configuration
* Live users see normal store without PureClarity
**Disabled Mode**
* No recommendations displayed to anyone
* PureClarity completely hidden from frontend
* Data collection continues in background
Switching to Test or Disabled mode will hide recommendations from your customers. Only use these modes when testing or troubleshooting.
## Data Feeds Status
Monitor your store's data synchronization:
### Feed Types Tracked
* **Product Data** - Catalog synchronization status
* **Category Data** - Product organization updates
* **User Data** - Customer information sync
* **Order History** - Transaction data processing
### Status Indicators
* ✅ **Active** - Feed running successfully
* ⚠️ **Pending** - Feed scheduled or processing
* ❌ **Error** - Feed failed, requires attention
Data feeds typically process automatically. Check the [feed status guide](/integrations/woocommerce/data-feeds) if you notice any errors.
## Quick Actions
### Configuration Tasks
* Review [zone placement](/integrations/woocommerce/zones)
* Configure [plugin settings](/integrations/woocommerce/settings)
* Set up [data feed schedules](/integrations/woocommerce/data-feeds)
### Monitoring Tasks
* Check recommendation performance
* Monitor data synchronization
* Review customer engagement metrics
## Next Steps
After reviewing your dashboard:
1. **Test recommendations** - Switch to Test mode to preview personalization
2. **Configure zones** - Set up recommendation placements
3. **Customize settings** - Adjust plugin behavior for your needs
4. **Monitor performance** - Track engagement and conversion improvements
## Troubleshooting Dashboard Issues
If your dashboard isn't displaying correctly:
* Verify account credentials are correct
* Check plugin activation status
* Ensure data feeds are processing
* Review [troubleshooting guide](/integrations/woocommerce/troubleshooting)
## Related Resources
* [WooCommerce Settings Configuration](/integrations/woocommerce/settings)
* [Managing Data Feeds](/integrations/woocommerce/data-feeds)
* [Zone Setup and Placement](/integrations/woocommerce/zones)
* [Troubleshooting Common Issues](/integrations/woocommerce/troubleshooting)
# WooCommerce Data Feeds Management
Source: https://docs.pureclarity.com/integrations/woocommerce/data-feeds
Complete guide to managing data feeds in PureClarity WooCommerce plugin - scheduling, monitoring, and troubleshooting
Data feeds synchronize your WooCommerce store data with PureClarity for accurate recommendations. Ensure your plugin is properly configured before managing feeds.
## Understanding Data Feeds
Data feeds are automatic processes that synchronize your store information with PureClarity's recommendation engine. This ensures personalized recommendations are based on current, accurate data.
### Feed Types
**Product Feed**
* Product catalog information
* Pricing, descriptions, images
* Inventory status and availability
* Product attributes and categories
**Category Feed**
* Category structure and hierarchy
* Category descriptions and metadata
* Product-category relationships
* Category-specific rules
**User Feed**
* Customer account information
* Registration and profile data
* Customer preferences and segments
* Account status and permissions
**Order Feed**
* Purchase history and transactions
* Order values and product quantities
* Customer buying patterns
* Revenue attribution data
Order feed data is crucial for AI learning. The more purchase history available, the better your recommendations become.
## Automatic Feed Scheduling
The plugin automatically configures feed schedules for optimal performance:
### Default Schedule
**Daily Feeds (1:00 AM)**
* Full product catalog sync
* Category structure updates
* Customer data synchronization
* Overnight processing minimizes site impact
**Delta Feeds (Every 2 Hours)**
* New product additions
* Price and inventory changes
* Order updates
* Customer activity changes
Delta feeds capture real-time changes while full feeds ensure complete data accuracy. This hybrid approach balances performance with data freshness.
### Configuring Feed Timing
Access feed settings through the WooCommerce dashboard:
1. **Navigate to WooCommerce > PureClarity**
2. **Access Settings tab**
3. **Configure Feed Schedules section**
4. **Set preferred timing** for your timezone
5. **Enable/disable specific feeds** as needed
## Manual Feed Management
### Running Feeds Manually
From the PureClarity dashboard feeds section:
**Individual Feed Execution**
* Select specific feed type
* Click "Run Now" button
* Monitor progress indicator
* Verify completion status
**Bulk Feed Processing**
* "Run All Feeds" option
* Sequential processing order
* Comprehensive data refresh
* Useful after major catalog changes
Manual feeds during high-traffic periods may impact site performance. Schedule during low-traffic hours when possible.
### Feed Status Monitoring
**Status Indicators**
* ✅ **Completed** - Feed processed successfully
* 🔄 **Running** - Feed currently processing
* ⚠️ **Warning** - Completed with minor issues
* ❌ **Failed** - Feed encountered errors
**Detailed Information**
* Processing start and end times
* Number of records processed
* Error messages and details
* Recommendations for resolution
## Feed Configuration Options
### Product Feed Settings
**Include/Exclude Options**
* Product status filters (published, draft, private)
* Category-based inclusion/exclusion
* Price range limitations
* Inventory status requirements
**Data Enhancement**
* Custom product attributes
* Additional image sources
* Extended descriptions
* SEO metadata inclusion
### Advanced Settings
**Performance Optimization**
* Batch size configuration (default: 100 products)
* Processing timeout limits
* Memory usage optimization
* Server resource management
**Data Quality Controls**
* Required field validation
* Data format standardization
* Duplicate detection and handling
* Error threshold settings
Smaller batch sizes reduce server load but increase processing time. Adjust based on your server capabilities and catalog size.
## Feed Troubleshooting
### Common Issues
**Feed Failures**
* Server timeout errors
* Memory limit exceeded
* Database connection issues
* Plugin configuration problems
**Data Quality Issues**
* Missing product information
* Inconsistent pricing data
* Broken image links
* Category mapping errors
### Diagnostic Steps
**Check Server Resources**
1. Verify PHP memory limits (recommended: 256MB+)
2. Check execution time limits (recommended: 300+ seconds)
3. Monitor database performance
4. Review server error logs
**Validate Plugin Configuration**
1. Confirm API credentials are correct
2. Verify feed settings are saved
3. Check plugin compatibility
4. Test with smaller data sets
### Error Resolution
**Memory Issues**
```php theme={null}
// Increase PHP memory limit in wp-config.php
ini_set('memory_limit', '512M');
// Or contact hosting provider for adjustment
```
**Timeout Problems**
* Split large catalogs into smaller batches
* Schedule feeds during low-traffic periods
* Optimize database queries
* Consider server upgrade if persistent
Making PHP configuration changes requires technical knowledge. Contact your hosting provider or developer if you're unsure about server modifications.
## Feed Performance Optimization
### Best Practices
**Catalog Preparation**
* Ensure all products have complete information
* Optimize image file sizes and formats
* Clean up duplicate or obsolete products
* Maintain consistent category structure
**Scheduling Strategy**
* Run full feeds during overnight hours
* Stagger feed execution to avoid conflicts
* Monitor server performance during feeds
* Adjust frequency based on catalog change rate
**Data Quality Maintenance**
* Regular catalog audits and cleanup
* Standardized product information formats
* Consistent pricing and inventory data
* Proper category organization
## Integration with WooCommerce Features
### Multi-Store Support
For WooCommerce Multisite installations:
* Separate feeds per store/site
* Site-specific configuration options
* Centralized monitoring dashboard
* Cross-site data synchronization
### Third-Party Plugin Compatibility
**Inventory Management**
* WooCommerce Stock Manager
* ATUM Inventory Management
* Stock Synchronization plugins
**Pricing Plugins**
* Dynamic Pricing
* Role-Based Pricing
* Wholesale pricing solutions
**Product Import/Export**
* WP All Import
* Product CSV Import Suite
* Custom data migration tools
## Monitoring and Analytics
### Feed Performance Metrics
Track feed effectiveness through dashboard analytics:
**Processing Statistics**
* Average feed duration
* Success/failure rates
* Data volume processed
* Error frequency trends
**Business Impact**
* Recommendation accuracy improvements
* Revenue attribution changes
* Customer engagement metrics
* Conversion rate correlations
## Related Resources
* [WooCommerce Settings Configuration](/integrations/woocommerce/settings)
* [Dashboard Overview](/integrations/woocommerce/dashboard-overview)
* [Troubleshooting Guide](/integrations/woocommerce/troubleshooting)
* [Feed Status Reference](/integrations/magento/magento-2/feed-status)
# Extending WooCommerce Data Feeds
Source: https://docs.pureclarity.com/integrations/woocommerce/extending-feed
Developer guide for customizing and extending PureClarity data feeds in WooCommerce with hooks, filters, and custom data
This guide is for developers who want to customize data feeds. Basic PHP and WordPress development knowledge is required. Always test customizations in a staging environment first.
## Overview
The PureClarity WooCommerce plugin provides several hooks and filters that allow developers to customize the data that is sent to PureClarity. This enables advanced customizations for specific business requirements.
Feed modifications can affect recommendation quality. Test thoroughly and monitor results when implementing custom feed logic.
## Available Hooks and Filters
### Product Feed Customization
**Product Data Filter**
```php theme={null}
// Modify product data before sending to PureClarity
add_filter('pureclarity_product_data', 'custom_product_data', 10, 2);
function custom_product_data($product_data, $product_id) {
// Add custom fields
$product_data['custom_field'] = get_post_meta($product_id, 'custom_meta_key', true);
// Modify existing fields
$product_data['description'] = strip_tags($product_data['description']);
// Add computed values
$product_data['profit_margin'] = calculate_profit_margin($product_id);
return $product_data;
}
```
**Product Exclusion Filter**
```php theme={null}
// Exclude specific products from feeds
add_filter('pureclarity_exclude_product', 'custom_product_exclusion', 10, 2);
function custom_product_exclusion($exclude, $product_id) {
$product = wc_get_product($product_id);
// Exclude products with specific attributes
if ($product->get_attribute('exclude_from_recommendations')) {
return true;
}
// Exclude based on custom business logic
if (custom_business_logic($product)) {
return true;
}
return $exclude;
}
```
### Category Feed Customization
**Category Data Filter**
```php theme={null}
// Modify category data before sending
add_filter('pureclarity_category_data', 'custom_category_data', 10, 2);
function custom_category_data($category_data, $category_id) {
// Add custom category metadata
$category_data['custom_sort_order'] = get_term_meta($category_id, 'sort_order', true);
// Add SEO information
$category_data['seo_title'] = get_term_meta($category_id, 'seo_title', true);
return $category_data;
}
```
### User Feed Customization
**User Data Filter**
```php theme={null}
// Extend user data with custom information
add_filter('pureclarity_user_data', 'custom_user_data', 10, 2);
function custom_user_data($user_data, $user_id) {
// Add customer segment information
$user_data['customer_segment'] = get_user_meta($user_id, 'customer_segment', true);
// Add loyalty program data
$user_data['loyalty_points'] = get_user_meta($user_id, 'loyalty_points', true);
// Add purchase history summary
$user_data['total_orders'] = count_user_orders($user_id);
$user_data['average_order_value'] = calculate_average_order_value($user_id);
return $user_data;
}
```
Custom user data helps PureClarity create more accurate customer segments and personalized recommendations.
## Advanced Customizations
### Custom Product Attributes
**Adding Third-Party Plugin Data**
```php theme={null}
// Integrate with Advanced Custom Fields (ACF)
add_filter('pureclarity_product_data', 'add_acf_fields', 10, 2);
function add_acf_fields($product_data, $product_id) {
if (function_exists('get_field')) {
$product_data['brand'] = get_field('product_brand', $product_id);
$product_data['material'] = get_field('product_material', $product_id);
$product_data['size_guide'] = get_field('size_guide_url', $product_id);
}
return $product_data;
}
```
**Dynamic Pricing Integration**
```php theme={null}
// Include dynamic pricing information
add_filter('pureclarity_product_data', 'add_dynamic_pricing', 10, 2);
function add_dynamic_pricing($product_data, $product_id) {
$product = wc_get_product($product_id);
// Get role-based pricing
$current_user = wp_get_current_user();
$user_roles = $current_user->roles;
if (in_array('wholesale', $user_roles)) {
$product_data['wholesale_price'] = get_wholesale_price($product_id);
}
// Include bulk pricing tiers
$product_data['bulk_pricing'] = get_bulk_pricing_tiers($product_id);
return $product_data;
}
```
### Custom Business Logic
**Multi-Language Support**
```php theme={null}
// Add WPML/Polylang language data
add_filter('pureclarity_product_data', 'add_language_data', 10, 2);
function add_language_data($product_data, $product_id) {
// WPML integration
if (function_exists('icl_get_languages')) {
$product_data['language'] = ICL_LANGUAGE_CODE;
$product_data['translations'] = get_product_translations($product_id);
}
return $product_data;
}
```
**Inventory Management Integration**
```php theme={null}
// Advanced inventory tracking
add_filter('pureclarity_product_data', 'add_inventory_data', 10, 2);
function add_inventory_data($product_data, $product_id) {
$product = wc_get_product($product_id);
// Add detailed stock information
$product_data['stock_status'] = $product->get_stock_status();
$product_data['stock_quantity'] = $product->get_stock_quantity();
$product_data['backorders_allowed'] = $product->get_backorders();
// Add restock date if available
$restock_date = get_post_meta($product_id, 'restock_date', true);
if ($restock_date) {
$product_data['restock_date'] = $restock_date;
}
return $product_data;
}
```
Include inventory data to enable PureClarity to avoid recommending out-of-stock products or prioritize items with higher availability.
## Feed Processing Hooks
### Pre-Processing Hooks
**Before Feed Generation**
```php theme={null}
// Perform actions before feed processing starts
add_action('pureclarity_before_feed_generation', 'before_feed_processing');
function before_feed_processing($feed_type) {
// Log feed start
error_log("Starting {$feed_type} feed generation at " . current_time('mysql'));
// Prepare data if needed
if ($feed_type === 'product') {
update_custom_product_cache();
}
// Send notification
wp_mail('admin@example.com', 'Feed Started', "Starting {$feed_type} feed");
}
```
### Post-Processing Hooks
**After Feed Completion**
```php theme={null}
// Actions after feed processing completes
add_action('pureclarity_after_feed_generation', 'after_feed_processing', 10, 2);
function after_feed_processing($feed_type, $result) {
// Log completion
$status = $result ? 'successful' : 'failed';
error_log("Feed {$feed_type} completed with status: {$status}");
// Update analytics
update_feed_analytics($feed_type, $result);
// Trigger related processes
if ($feed_type === 'product' && $result) {
trigger_search_index_update();
}
}
```
## Error Handling and Validation
### Custom Validation
**Product Data Validation**
```php theme={null}
// Validate product data before sending
add_filter('pureclarity_validate_product_data', 'validate_product_data', 10, 2);
function validate_product_data($is_valid, $product_data) {
// Required fields validation
$required_fields = ['id', 'title', 'price', 'image'];
foreach ($required_fields as $field) {
if (empty($product_data[$field])) {
error_log("Product {$product_data['id']} missing required field: {$field}");
return false;
}
}
// Custom business rules
if ($product_data['price'] <= 0) {
error_log("Product {$product_data['id']} has invalid price: {$product_data['price']}");
return false;
}
return $is_valid;
}
```
### Error Logging
**Custom Error Handling**
```php theme={null}
// Enhanced error logging
add_action('pureclarity_feed_error', 'custom_error_handling', 10, 3);
function custom_error_handling($error_message, $feed_type, $context) {
// Log to custom file
$log_file = WP_CONTENT_DIR . '/pureclarity-errors.log';
$timestamp = current_time('Y-m-d H:i:s');
$log_entry = "[{$timestamp}] {$feed_type}: {$error_message} - Context: " . json_encode($context) . "\n";
file_put_contents($log_file, $log_entry, FILE_APPEND | LOCK_EX);
// Send critical error notifications
if (strpos($error_message, 'critical') !== false) {
wp_mail('admin@example.com', 'Critical PureClarity Error', $error_message);
}
}
```
## Performance Optimization
### Batch Processing Customization
```php theme={null}
// Customize batch processing
add_filter('pureclarity_feed_batch_size', 'custom_batch_size', 10, 2);
function custom_batch_size($batch_size, $feed_type) {
// Adjust batch size based on server resources
if ($feed_type === 'product') {
// Smaller batches for product feeds with many custom fields
return 50;
}
return $batch_size;
}
```
### Caching Integration
```php theme={null}
// Implement custom caching for expensive operations
add_filter('pureclarity_product_data', 'cached_product_data', 10, 2);
function cached_product_data($product_data, $product_id) {
$cache_key = "pureclarity_product_data_{$product_id}";
$cached_data = wp_cache_get($cache_key);
if ($cached_data !== false) {
return array_merge($product_data, $cached_data);
}
// Expensive computation
$custom_data = perform_expensive_calculation($product_id);
// Cache for 1 hour
wp_cache_set($cache_key, $custom_data, '', 3600);
return array_merge($product_data, $custom_data);
}
```
Be cautious with caching duration. Product data that changes frequently should have shorter cache times to ensure accuracy.
## Testing and Debugging
### Debug Output
```php theme={null}
// Add debug information to feeds
add_action('pureclarity_debug_product_data', 'debug_product_data', 10, 2);
function debug_product_data($product_data, $product_id) {
if (defined('WP_DEBUG') && WP_DEBUG) {
error_log("Product {$product_id} data: " . json_encode($product_data));
}
}
```
### Test Mode Enhancements
```php theme={null}
// Special handling for test environments
add_filter('pureclarity_product_data', 'test_mode_modifications', 10, 2);
function test_mode_modifications($product_data, $product_id) {
if (wp_get_environment_type() === 'development') {
// Add test identifiers
$product_data['test_mode'] = true;
$product_data['debug_id'] = "test_{$product_id}";
}
return $product_data;
}
```
## Best Practices
### Code Organization
**Create a Custom Plugin**
```php theme={null}
add_product_filters();
$this->add_category_filters();
$this->add_user_filters();
}
private function add_product_filters() {
add_filter('pureclarity_product_data', array($this, 'modify_product_data'), 10, 2);
}
// Additional methods...
}
new PureClarityCustomExtensions();
```
### Documentation
**Comment Your Code**
```php theme={null}
/**
* Add custom brand information to product feed
*
* @param array $product_data Existing product data
* @param int $product_id WooCommerce product ID
* @return array Modified product data with brand information
*/
function add_brand_data($product_data, $product_id) {
// Implementation here
}
```
## Related Resources
* [WooCommerce Installation Guide](/integrations/woocommerce/installation)
* [Data Feeds Management](/integrations/woocommerce/data-feeds)
* [Settings Configuration](/integrations/woocommerce/settings)
* [Magento Feed Extensions](/integrations/magento/magento-2/extending-feed)
* [Troubleshooting Guide](/integrations/woocommerce/troubleshooting)
# WooCommerce Installation
Source: https://docs.pureclarity.com/integrations/woocommerce/installation
Complete guide to installing and setting up the PureClarity WooCommerce plugin
The PureClarity for WooCommerce plugin provides comprehensive e-commerce personalization capabilities for your WordPress-based store.
## Plugin Features
The PureClarity WooCommerce plugin includes:
* **Free Trial Access** - 30-day trial signup directly from your admin panel
* **Guided Setup** - Step-by-step initial configuration assistance
* **Automatic Zone Creation** - Pre-configured zones for key pages:
* Home Page
* Product Page
* Search Results Page
* Basket Page
* Order Confirmation Page
* **Data Synchronization** - Scheduled feeds and real-time deltas for data integrity
* **Event Tracking** - Frontend analytics to power personalized recommendations
## Installation Methods
Choose from two installation approaches:
### Method 1: Direct WordPress Installation
This is the recommended method for most users as it handles updates automatically.
1. Navigate to **Plugins > Add New** in your WordPress admin panel
2. Search for "PureClarity" in the plugin directory
3. Click **"Install Now"** to automatically download and install the plugin
4. After installation completes, click **"Activate"** to enable the plugin
5. You'll see a new "PureClarity" menu item in your WordPress admin menu
### Method 2: Manual Download Installation
For advanced users or custom hosting environments:
1. **[Download from the WordPress Plugin Directory](https://en-gb.wordpress.org/plugins/pureclarity-for-woocommerce/)**
2. Upload the plugin files to your server using your preferred method
3. Activate through the WordPress admin panel
Manual installations require you to handle updates manually. We recommend the direct WordPress installation method for automatic updates and security patches.
## Next Steps
After successful installation, proceed to account setup:
Continue with [Setting up your PureClarity account](/integrations/woocommerce/setting-up-account) to begin personalizing your store.
The PureClarity menu item in your WordPress admin provides access to all configuration options, dashboard analytics, and account management features.
# Setting Up Your PureClarity Account
Source: https://docs.pureclarity.com/integrations/woocommerce/setting-up-account
How to create a new PureClarity account or link an existing account using the WooCommerce plugin
Before setting up your account, ensure you have the PureClarity WooCommerce plugin installed and activated. You'll need admin access to your WordPress/WooCommerce site.
## Creating a New Account
When you click on the PureClarity menu and haven't signed up yet, you'll see the signup form:
This form enables you to sign up for a free-trial account with PureClarity. Fill in the required basic details:
* **Store Name** - Your business/store name
* **Email Address** - Your business email
* **First & Last Name** - Your contact details
* **Phone Number** - For account verification
* **Country** - Your business location
Choose your details carefully as they'll be used for account configuration and support communications.
### Account Processing
When you submit the form:
1. **Request submitted** - Your details are sent to PureClarity for processing
2. **Processing time** - Usually completed within a couple of minutes
3. **Automatic configuration** - If you stay on the waiting page, your WooCommerce site will be configured automatically
4. **Background setup** - If you navigate away, a background process will complete the configuration
## Linking an Existing Account
If you already have a PureClarity account, click the "Link existing account" option above the signup form:
### Required Credentials
You'll need the following keys from your existing PureClarity account:
1. **AccessKey** - Your unique access identifier
2. **SecretKey** - Your secure authentication key
Keep your SecretKey confidential and never share it publicly. It provides full access to your PureClarity account.
### Finding Your Keys
To locate your keys:
1. Log into your **PureClarity Admin**
2. Navigate to **My Account > Integration**
3. Copy your AccessKey and SecretKey
4. Select your **region** (USA / Europe / UK)
Your region selection must match where your PureClarity application is hosted for proper connectivity.
## Next Steps
After successful account setup or linking:
* Configure your [WooCommerce zones](/integrations/woocommerce/zones)
* Set up [data feeds](/integrations/woocommerce/data-feeds)
* Review [dashboard overview](/integrations/woocommerce/dashboard-overview)
* Explore [plugin settings](/integrations/woocommerce/settings)
## Troubleshooting
If you encounter issues during setup:
* Verify your internet connection
* Check that the plugin is properly activated
* Ensure your email address is valid and accessible
* Contact [support@pureclarity.com](mailto:support@pureclarity.com) if problems persist
See [WooCommerce troubleshooting](/integrations/woocommerce/troubleshooting) for additional help.
# WooCommerce Settings Configuration
Source: https://docs.pureclarity.com/integrations/woocommerce/settings
Complete guide to configuring PureClarity WooCommerce plugin settings for optimal performance and customization
Access the PureClarity settings through WooCommerce > PureClarity > Settings tab. Ensure you have administrator privileges to modify these settings.
## General Settings
### Account Configuration
**Access Credentials**
* **AccessKey** - Your unique PureClarity identifier
* **SecretKey** - Secure authentication token
* **Region** - Server location (USA/Europe/UK)
Never share your SecretKey publicly. If compromised, regenerate immediately through your PureClarity admin console.
**Store Information**
* Store name and description
* Primary language settings
* Currency configuration
* Timezone settings
### Display Mode Settings
Control how PureClarity appears to visitors:
**Live Mode**
* All visitors see personalized recommendations
* Full production experience active
* Real-time AI personalization enabled
**Test Mode (Admin Only)**
* Only administrators see recommendations
* Perfect for testing configurations
* Safe environment for changes
**Disabled Mode**
* No recommendations displayed
* PureClarity hidden from frontend
* Data collection continues in background
Use Test Mode when making configuration changes to avoid impacting customer experience during setup.
## Zone Settings
### Default Zone Configuration
**Homepage Zones**
* Enable/disable individual homepage zones
* Customize zone titles and descriptions
* Set product display limits (4-12 recommended)
* Configure responsive behavior
**Product Page Zones**
* Related products placement
* Cross-sell recommendation areas
* Recently viewed products
* Personalized suggestions
**Category Page Zones**
* Top products in category
* Alternative suggestions
* Trending items display
* Cross-category recommendations
**Cart & Checkout Zones**
* Upsell opportunities
* Frequently bought together
* Last chance offers
* Complementary products
### Zone Customization Options
**Visual Settings**
* Zone titles and headings
* Product display layout (grid/list)
* Image sizes and aspect ratios
* Color scheme customization
**Behavioral Settings**
* Number of products per zone
* Lazy loading configuration
* Mobile responsiveness
* Animation and transition effects
Limiting zones to 4-8 products typically provides the best balance of choice and decision-making efficiency for customers.
## Data Feed Settings
### Feed Scheduling
**Automatic Feeds**
* Daily full feed timing (default: 1:00 AM)
* Delta feed frequency (default: every 2 hours)
* Weekend processing options
* Holiday schedule adjustments
**Manual Feed Controls**
* On-demand feed execution
* Selective feed types
* Priority processing queues
* Bulk feed operations
### Feed Content Configuration
**Product Feed Options**
* Include/exclude product statuses
* Category filtering rules
* Price range limitations
* Inventory requirements
**Advanced Feed Settings**
* Batch processing size
* Memory usage limits
* Processing timeouts
* Error handling thresholds
Increasing batch sizes improves speed but requires more server resources. Monitor your server performance when adjusting these settings.
## Product Attribute Mapping
### Standard Attributes
Map WooCommerce attributes to PureClarity fields:
**Basic Mapping**
* Product name → title
* SKU → identifier
* Price → cost
* Description → summary
**Enhanced Mapping**
* Custom attributes → PureClarity fields
* Category hierarchy → classification
* Product tags → keywords
* Variations → attributes
### Custom Field Integration
**WooCommerce Meta Fields**
* Advanced Custom Fields (ACF) integration
* Custom product metadata
* Third-party plugin data
* External system synchronization
**Data Transformation**
* Field format conversion
* Unit standardization
* Currency normalization
* Language translation
## Performance Settings
### Caching Configuration
**Page Caching Compatibility**
* Cache exclusion rules
* Dynamic content handling
* CDN integration settings
* Browser caching optimization
**Database Optimization**
* Query performance settings
* Index optimization
* Cleanup schedules
* Archive management
### Resource Management
**Server Resource Limits**
* PHP memory allocation
* Execution time limits
* Concurrent process limits
* Queue management
**Frontend Performance**
* JavaScript loading optimization
* CSS minification settings
* Image lazy loading
* Content delivery network
Enable lazy loading for below-the-fold zones to improve initial page load times while maintaining recommendation functionality.
## Security and Privacy Settings
### Data Protection
**GDPR Compliance**
* Cookie consent integration
* Data retention policies
* User data deletion
* Privacy preference management
**Data Anonymization**
* Customer data masking
* Session tracking options
* IP address handling
* Behavioral data limits
### Access Controls
**User Permissions**
* Role-based access control
* Feature-specific permissions
* API access management
* Audit trail logging
## Integration Settings
### Third-Party Compatibility
**Payment Gateway Integration**
* Order tracking configuration
* Revenue attribution
* Transaction data mapping
* Conversion tracking
**Marketing Tool Integration**
* Email marketing platforms
* Analytics tools
* CRM systems
* Social media platforms
### API Configuration
**Webhook Settings**
* Real-time data synchronization
* Event trigger configuration
* Endpoint security
* Retry logic settings
**Custom Integrations**
* Developer API access
* Custom endpoint creation
* Data export options
* Integration testing tools
## Troubleshooting Settings
### Debug Configuration
**Logging Levels**
* Error logging only
* Warning and error logging
* Full debug logging
* Custom log destinations
**Diagnostic Tools**
* Connection testing
* Feed validation
* Performance monitoring
* Error reporting
### Maintenance Mode
**Temporary Disabling**
* Emergency shutdown options
* Maintenance windows
* Gradual rollback procedures
* Service restoration
Enable detailed logging temporarily when troubleshooting issues, but disable it in production to avoid large log files impacting server performance.
## Advanced Configuration
### Custom Templates
**Zone Template Customization**
* Custom HTML/CSS templates
* PHP template modifications
* Responsive design options
* A/B testing configurations
### Developer Options
**Code Integration**
* Custom hooks and filters
* API extension points
* Event listener registration
* Custom functionality development
## Settings Backup and Restore
### Configuration Export
Export your settings for backup or migration:
1. Navigate to Settings > Export
2. Select configuration sections
3. Download settings file
4. Store securely for restoration
### Settings Import
Restore or migrate configurations:
1. Access Settings > Import
2. Upload settings file
3. Select import options
4. Verify configuration integrity
Always test imported settings in a staging environment before applying to production sites.
## Related Resources
* [WooCommerce Installation Guide](/integrations/woocommerce/installation)
* [Dashboard Overview](/integrations/woocommerce/dashboard-overview)
* [Data Feeds Management](/integrations/woocommerce/data-feeds)
* [Zone Configuration](/integrations/woocommerce/zones)
* [Troubleshooting Guide](/integrations/woocommerce/troubleshooting)
# WooCommerce Troubleshooting Guide
Source: https://docs.pureclarity.com/integrations/woocommerce/troubleshooting
Common issues and solutions for PureClarity WooCommerce integration including installation, feeds, zones, and performance problems
Before troubleshooting, ensure you have the latest version of the PureClarity WooCommerce plugin installed and that your WordPress/WooCommerce are up to date.
## Common Installation Issues
### Plugin Activation Problems
**Issue: Plugin won't activate**
* Verify WordPress version compatibility (5.0+)
* Check WooCommerce is installed and active
* Ensure sufficient server resources
* Review plugin conflict with deactivation testing
**Issue: White screen after activation**
* Check PHP error logs
* Verify PHP version compatibility (7.4+)
* Increase PHP memory limit
* Contact hosting provider for server issues
Always backup your site before installing or updating plugins. Test changes in a staging environment when possible.
### Account Connection Issues
**Issue: Cannot connect to PureClarity account**
* Verify AccessKey and SecretKey are correct
* Check selected region matches your account
* Confirm account is active and in good standing
* Test internet connectivity from server
**Issue: Account setup timeout**
* Allow additional time for processing (up to 10 minutes)
* Check server firewall settings
* Verify outbound HTTP/HTTPS connections allowed
* Contact support if persistent
Account setup typically completes within 2-5 minutes. Extended delays may indicate server connectivity issues.
## Data Feed Problems
### Feed Failures
**Issue: Feeds not running automatically**
**Check Cron Configuration:**
```php theme={null}
// Test WordPress cron in wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
// Check if cron is disabled
if (defined('DISABLE_WP_CRON') && DISABLE_WP_CRON) {
// Cron is disabled - contact hosting provider
}
```
**Common Solutions:**
* Verify WP-Cron is enabled on your server
* Check hosting provider cron configuration
* Review scheduled task logs
* Test manual feed execution
**Issue: Feed timeout errors**
**Server Configuration:**
* Increase PHP max\_execution\_time (300+ seconds)
* Raise PHP memory\_limit (256MB+ recommended)
* Optimize database queries
* Contact hosting for server resources
**Issue: Partial feed processing**
* Reduce batch size in settings
* Check product data completeness
* Verify image accessibility
* Review error logs for specific failures
Enable debug logging in plugin settings to get detailed information about feed processing and identify specific issues.
### Feed Data Issues
**Issue: Products missing from recommendations**
* Verify products are published and visible
* Check product has required fields (name, price, image)
* Confirm product isn't excluded by filters
* Review inventory settings if applicable
**Issue: Incorrect product information**
* Clear and regenerate product feeds
* Check custom field mappings
* Verify currency settings
* Review product attribute configuration
## Zone Display Problems
### Zones Not Appearing
**Issue: No recommendations showing**
**Check Display Mode:**
1. Navigate to WooCommerce > PureClarity
2. Verify Display Mode is set to "Live"
3. Test in Test Mode as admin user
4. Clear any caching plugins
**Check Zone Configuration:**
* Verify zones are enabled in settings
* Check theme compatibility
* Review JavaScript console for errors
* Test with default WordPress theme
**Issue: Zones appear empty**
* Allow 24-48 hours for initial data processing
* Check if products meet recommendation criteria
* Verify customer has browsing history for personalization
* Review segment targeting settings
New installations require 24-48 hours for the AI to learn customer patterns and generate quality recommendations.
### Zone Performance Issues
**Issue: Slow zone loading**
* Enable lazy loading for below-fold zones
* Optimize image sizes and formats
* Review zone product limits (4-8 recommended)
* Check server response times
**Issue: Zones affecting page layout**
* Review CSS conflicts with theme
* Test responsive behavior on different devices
* Adjust zone container settings
* Consider custom CSS for integration
## Performance and Compatibility
### Server Performance
**Issue: Site slowdown after installation**
**Optimization Steps:**
* Enable WordPress object caching
* Optimize database tables
* Review plugin conflicts
* Monitor server resource usage
**PHP Configuration:**
```php theme={null}
// Recommended PHP settings
memory_limit = 256M
max_execution_time = 300
max_input_vars = 3000
post_max_size = 32M
upload_max_filesize = 32M
```
### Theme Compatibility
**Issue: Zones not displaying properly**
* Test with default WordPress theme
* Review theme's WooCommerce customizations
* Check for JavaScript conflicts
* Consider custom zone templates
**Issue: Styling conflicts**
* Add custom CSS for PureClarity zones
* Review theme's CSS specificity
* Test in different browsers
* Check mobile responsiveness
Most theme compatibility issues can be resolved with minor CSS adjustments. Contact our support team for theme-specific guidance.
## Advanced Troubleshooting
### Debug Information Collection
**Enable Detailed Logging:**
1. Go to WooCommerce > PureClarity > Settings
2. Enable "Debug Logging"
3. Reproduce the issue
4. Check WooCommerce > Status > Logs
5. Look for files prefixed with "pureclarity"
**System Information:**
* WordPress version and installed plugins
* WooCommerce version and active extensions
* PHP version and server configuration
* Theme name and version
* Hosting provider and plan details
### JavaScript Debugging
**Browser Console Errors:**
1. Press F12 to open developer tools
2. Navigate to Console tab
3. Refresh page with issues
4. Look for PureClarity-related errors
5. Note error messages and line numbers
**Common JavaScript Issues:**
* jQuery version conflicts
* Other plugin JavaScript conflicts
* Theme JavaScript errors
* Content Security Policy restrictions
### Database Issues
**Issue: Database errors in logs**
**Check Database Health:**
```sql theme={null}
-- Check for corrupted tables
CHECK TABLE wp_pureclarity_delta;
REPAIR TABLE wp_pureclarity_delta;
-- Verify table structure
DESCRIBE wp_pureclarity_delta;
```
**Database Optimization:**
* Optimize WooCommerce database tables
* Clear expired transients
* Review database error logs
* Consider database repair tools
Database modifications should only be performed by experienced administrators with proper backups in place.
## Getting Additional Help
### Before Contacting Support
**Gather Information:**
* Plugin version number
* WordPress and WooCommerce versions
* Error messages and screenshots
* Steps to reproduce the issue
* System information from WooCommerce status
### Contact Options
**Support Channels:**
* Email: [support@pureclarity.com](mailto:support@pureclarity.com)
* Support portal through PureClarity admin
* Emergency escalation for critical issues
**What to Include:**
* Detailed problem description
* Error messages and log entries
* Screenshots or screen recordings
* System configuration details
* Previous troubleshooting attempts
The more specific information you provide, the faster our support team can identify and resolve your issue.
## Preventive Maintenance
### Regular Maintenance Tasks
**Monthly:**
* Review feed processing logs
* Check recommendation performance
* Update plugin and dependencies
* Monitor server resource usage
**Quarterly:**
* Full system backup
* Database optimization
* Performance analysis
* Security audit
### Best Practices
**Configuration Management:**
* Document custom settings
* Test changes in staging environment
* Maintain configuration backups
* Review settings after updates
**Monitoring:**
* Set up uptime monitoring
* Track page load speeds
* Monitor recommendation performance
* Review error logs regularly
## Related Resources
* [WooCommerce Installation Guide](/integrations/woocommerce/installation)
* [Settings Configuration](/integrations/woocommerce/settings)
* [Data Feeds Management](/integrations/woocommerce/data-feeds)
* [Zone Configuration](/integrations/woocommerce/zones)
* [Dashboard Overview](/integrations/woocommerce/dashboard-overview)
# WooCommerce Zones Configuration
Source: https://docs.pureclarity.com/integrations/woocommerce/zones
How to configure and manage recommendation zones in your WooCommerce store using PureClarity
Zones define where recommendations appear on your WooCommerce store. Ensure your PureClarity plugin is configured before setting up zones.
## Understanding Zones
Zones are designated areas on your website where PureClarity displays personalized recommendations. Each zone can show different types of content based on your customers' behavior and preferences.
Learn more about zone concepts and best practices in our [Zones Overview](/features/zones/overview) guide.
## Automatic Zone Configuration
The PureClarity WooCommerce plugin includes pre-configured zones for optimal performance:
### Default Zone Locations
**Homepage Zones**
* Featured products section
* Category highlights area
* New arrivals display
**Product Page Zones**
* Related products section
* Cross-sell recommendations
* Recently viewed items
**Cart & Checkout Zones**
* Upsell recommendations
* Frequently bought together
* Last chance offers
**Category Page Zones**
* Top products in category
* Alternative product suggestions
* Trending items
Default zones are optimized for standard WooCommerce themes. Custom themes may require additional configuration.
## Manual Zone Configuration
For custom implementations or specific requirements:
### Using WordPress Widgets
1. **Navigate to Appearance > Widgets** in your WordPress admin
2. **Locate PureClarity widgets** in the available widgets list
3. **Drag widgets** to desired sidebar or widget areas
4. **Configure widget settings**:
* Zone ID
* Display title
* Number of products
* Styling options
### Using Shortcodes
Insert zones directly into posts, pages, or theme templates:
```php theme={null}
// Basic zone shortcode
[pureclarity_zone id="zone_id"]
// Zone with custom attributes
[pureclarity_zone id="homepage_featured" title="Recommended for You" limit="4"]
```
### Direct Template Integration
For developers working with theme files:
```php theme={null}
'Personalized Recommendations',
'limit' => 6,
'template' => 'custom'
));
}
?>
```
Direct template modifications require PHP knowledge and should be tested thoroughly. Always backup your site before making template changes.
## Zone Management
### Viewing Active Zones
Monitor your zones through the PureClarity dashboard:
1. **Access the dashboard** via WooCommerce > PureClarity
2. **Review zone performance** in the analytics section
3. **Check zone status** for any configuration issues
### Customizing Zone Behavior
**Display Options**
* Number of recommendations to show
* Product image sizes
* Text and styling customization
* Mobile responsiveness settings
**Targeting Options**
* Customer segment filtering
* Product category restrictions
* Behavioral triggers
* Geographic targeting
## Zone Troubleshooting
### Common Issues
**Zones Not Displaying**
* Verify plugin activation
* Check zone IDs match configuration
* Ensure data feeds are processing
* Confirm theme compatibility
**Poor Recommendations**
* Allow time for AI learning (7-14 days)
* Verify product data quality
* Check customer behavior tracking
* Review zone targeting settings
Most recommendation quality improves significantly after 2 weeks of data collection as the AI learns your customers' preferences.
### Testing Zones
**Test Mode Configuration**
1. Switch to Test mode in the dashboard
2. Browse your site as a customer would
3. Verify zones display correctly
4. Check recommendation relevance
5. Test on different devices and browsers
## Best Practices
### Zone Placement Strategy
**Above the Fold** - High-visibility areas for maximum engagement
**Context-Relevant** - Product pages show related items
**Non-Intrusive** - Complement existing design and flow
**Mobile-Optimized** - Ensure zones work on all devices
### Performance Optimization
* Limit zones per page (3-5 maximum)
* Use appropriate product limits (4-8 items)
* Implement lazy loading for below-fold zones
* Monitor site speed impact
## Advanced Configuration
### Custom Zone Templates
Create custom zone templates in your theme:
```php theme={null}
// wp-content/themes/your-theme/pureclarity/zone-custom.php
```
### Integration with Page Builders
**Elementor Integration**
* Use PureClarity widget for Elementor
* Configure zones through widget settings
* Maintain design consistency
**Gutenberg Block Support**
* PureClarity recommendation blocks
* Easy drag-and-drop zone placement
* Visual configuration options
## Related Resources
* [Zone Overview and Concepts](/features/zones/overview)
* [WooCommerce Data Feeds](/integrations/woocommerce/data-feeds)
* [Plugin Settings](/integrations/woocommerce/settings)
* [WooCommerce Troubleshooting](/integrations/woocommerce/troubleshooting)
# GDPR Overview
Source: https://docs.pureclarity.com/legal/gdpr/overview
General Data Protection Regulations overview for PureClarity merchants and data subjects
With the introduction of the General Data Protection Regulations (GDPR) your Visitors and Customers (data subjects) have a right to access the personal data a data controller (a merchant using PureClarity) processes by using our service. They can also request that any personal information held is removed or made anonymous. A person can request information about what is held by them or can request any data held by them is removed using what is called a 'Subject Access Request' (SAR). This is a request to a data controller (a merchant using PureClarity) to share the personal data PureClarity has processed on behalf of the data controller.
Most of the data PureClarity collects is anonymous, however, data such as order information and any demographic information that is passed to PureClarity may hold personal data.
**NOTE:** Please review our [Privacy Policy](/legal/privacy/privacy-policy) and [Cookie policy](/legal/privacy/cookie-policy) to understand the data we may hold and data that we explicitly won't accept.
# GDPR References
Source: https://docs.pureclarity.com/legal/gdpr/references
External references and resources for GDPR compliance and data protection regulations
* [EU GDPR Information Portal](https://gdpr.eu/)
* [European Commission Rules for the Protection of Personal Data inside and outside the EU](https://ec.europa.eu/info/law/law-topic/data-protection%5Fen)
# GDPR Tools
Source: https://docs.pureclarity.com/legal/gdpr/tools
Available tools for GDPR compliance including user data management and Subject Access Requests
To facilitate SARs and to be compliant with GDPR we have a number of tools available:
* **Find User Data** – The [User Explorer](https://docs.pureclarity.com/en/articles/3511974-user-explorer) in Data Explorers allows you to find a specific user and retrieve the user data such as customer details, orders and user demographics.
* **Find User Data** – The [User Explorer](/support/general/user-explorer) in Data Explorers allows you to find a specific user and retrieve the user data such as customer details, orders and user demographics.
* **Forget User** – This will remove all potentially identifiable data about the user, including any email address associated with the user. See [User Explorer](/support/general/user-explorer) for more details. for more details.
* API – we provide an API to forget users too so that your developers can integrate directly with PureClarity. The endpoint is `/api/user/forget` and the body of the request should be in the form of:
* AccessKey: \
* Identifier: \
# Cookie Policy
Source: https://docs.pureclarity.com/legal/privacy/cookie-policy
Our Cookies Policy explains what cookies are, how we use cookies and how third-parties we may partner with may use cookies.
## OVERVIEW
Our Cookies Policy explains what cookies are, how we use cookies, how third-parties we may partner with may use cookies on the Service, our visitors and customers' visitors choices regarding cookies and further information about cookies
## WHAT ARE COOKIES
Cookies are small pieces of text sent by your web browser by a website you visit. A cookie file is stored in your web browser and allows the Service or a third-party to recognize you and make your next visit easier and the Service more useful to you.
Cookies can be "persistent" or "session" cookies. Persistent cookies remain on your personal computer or mobile device when you go offline, while session cookies are deleted as soon as you close your web browser.
## COOKIES ON OUR WEBSITES
Our websites ([www.pureclarity.com](http://www.pureclarity.com) & admin.pureclarity.com) use cookies to distinguish our visitors from other visitors to our website. This helps us to provide them with a good experience when they browse our website and also allows us to improve our site.
**Essential cookies:** We may use essential cookies to authenticate users and prevent fraudulent use of user accounts.
**Analytical/performance cookies:** They allow us to recognise and count the number of visitors and to see how visitors move around our website when they are using it. This helps us to improve the way our website works, for example, by ensuring that users are finding what they are looking for easily.
**Functionality cookies:** These are used to recognise visitors when they return to our website. This enables us to personalise our content for our visitors and remember your preferences (for example, their choice of language or region).
## COOKIES WE USE:
| COOKIE NAME | DESCRIPTION | LIFETIME |
| ----------------- | ---------------------------------------------- | -------- |
| **pcvt\_id** | Visitor tracker id | forever |
| **pcvt\_ca** | Cookie acceptance | forever |
| **pcvt\_tk** | Visitor token used to gain access to resources | forever |
| **pcvt\_sc** | Session information Session | forever |
| **\_ga** | Google Analytics | forever |
| **\_ga** | Google Analytics throttle rate | forever |
| **\_\_mmapiwsid** | Geo IP tracking maxmind | forever |
## COOKIES ON OUR CUSTOMERS' WEBSITES
We use cookies to track visitors onsite behavior and consumer habits. We use both session and persistent cookies on the Service and we use different types of cookies to run the Service.
**Functionality cookies:** These are used to recognise visitors when they return to our Customers' website. This enables us to personalise content to enrich their experience will more relevant products and promotions.
## COOKIES WE USE:
| COOKIE NAME | DESCRIPTION | LIFETIME |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| **pc\_cur** | last currency | forever |
| **pc\_sessid, pc\_sessid\_** | Identifier for the current session | session (minutes) |
| **pc\_v,****pc\_v\_** | Identifier for the user | forever |
| **pc\_dbgm** | Information for the PureClarity Debug Bar | forever |
| **pc\_first\_popup** | Indicates if a popup has been shown at all during session. Prevents users from seeing popups constantly if tracking is opted out | session |
| **pc\_logger** | Indicates the logger has been explicitly enabled by the user | session |
## WHAT ARE YOUR CHOICES REGARDING COOKIES
If you'd like to delete cookies or instruct your web browser to delete or refuse cookies, please visit the help pages of your web browser. As an European citizen, under GDPR, you have certain individual rights.
Please note, however, that if you delete cookies or refuse to accept them, you might not be able to use all of the features we offer, you may not be able to store your preferences, and some of our pages might not display properly.
You can learn more about cookies and the following third-party website: **[AllAboutCookies](http://www.allaboutcookies.org/)**
# Privacy Policy
Source: https://docs.pureclarity.com/legal/privacy/privacy-policy
PureClarity Technologies Limited privacy policy for visitors, customers and data processing practices
## OVERVIEW
PureClarity Technologies Limited ("We", "Us") are committed to protecting and respecting our visitors, our Customers and our Customers' visitors privacy.
This policy (together with our Service Agreement, Data Processing Agreement and any other documents referred to on it) sets out the basis on which any personal data we collect, or is provided to us, from our visitors, our customers and our Customer's visitors, will be processed by us. Please read the following carefully to understand our views and practices regarding how we process personal data and how we will treat it. By visiting docs.pureclarity.com or admin.pureclarity.com you are accepting and consenting to the practices described in this policy.
For the purpose of the GDPR, Data Protection Act 1998 (the Act) and other data protection legislation, the data controller is PureClarity Technologies Limited whose is registered with the ICO (Number: ZA155265).
*This policy was last updated on 24 June 2019.*
## SCOPE OF THE POLICY
This policy covers:
* Visitors to our site ([www.pureclarity.com](http://www.pureclarity.com))
* Customers using our Services (admin.pureclarity.com)
* Data processed on behalf of our Customers relating to their Customers and their Personal Data (from our Customer's website).
* Source of our data sent to us or collect by Us (via our Customers website or via ecommerce integration using our platform extension or plug-in).
## INFORMATION WE MAY COLLECT OR IS PASSED TO US
## ON [WWW.PURECLARITY.COM](http://WWW.PURECLARITY.COM)
We may collect and process the following data about visitors to our site:
* Visitors may give us information about themselves by filling in forms on our site [www.pureclarity.com](http://www.pureclarity.com) (our site) or by corresponding with us by phone, e-mail or otherwise. This includes information provide when filling out one of our forms including request a demo, request a quote, download a resource or contact us. The information may include name, address, e-mail address and phone number.
* Technical information, including the Internet protocol (IP) address used to connect your computer to the Internet, your login information, browser type and version, time zone setting, browser plug-in types and versions, operating system and platform.
* Information about your visit, including the full Uniform Resource Locators (URL) clickstream to, through and from our site (including date and time); pages you viewed or searched for; page response times, download errors, length of visits to certain pages, page interaction information (such as scrolling, clicks, and mouse-overs), and methods used to browse away from the page.
## ON ADMIN.PURECLARITY.COM
We collect our Customers' login details and interactions within the admin console.
## ON OUR CUSTOMERS' WEBSITES WITH OUR EXTENSION/PLUG-IN/API
Information we collect about each of our Customers' visitors on our Customers' site includes:
* Weather in visitor's location
* Geographical location
* Page views
* Products, Categories, Brands viewed and purchase on site
* Operating System/Device
* Search Engine
* Social Media source
* UTM Parameters
Information pass to us either via a data feed or through an API integration with an ecommerce platform extension or plug-in (e.g. Magento, Shopify) includes:
* User Demographic Information such as name, email address, age, gender, postal address, past orders and may include custom attributes defined by the Customer.
Data that we do not accept from our customers include any personal data revealing racial or ethnic origin, political opinions, religious or philosophical beliefs, or trade union membership, and the processing of genetic data, biometric data for the purpose of uniquely identifying a natural person, data concerning health or data concerning a natural person's sex life or sexual orientation.
## COOKIES
Our website and Platform technology use cookies to distinguish visitors from other visitors. On our website this helps us provide a good experience when a visitor browses our website and also allows us to improve our site. On our Customers' sites cookies help us enhance their visitors' experience by providing products and promotions deemed relevant to the visitor.
For detailed information on the cookies we use and the purposes for which we use them see our **[Cookie policy](/legal/privacy/cookie-policy)**.
## LEGAL BASIS OF PROCESSING INFORMATION
The basis for processing personal data is, as stated in the EU Personal Data Regulation (EU) 2016/679 (GDPR), the legitimate interest of the company based on customer relationship or other appropriate connection, namely:
* delivery and development of our Services (to provide relevant product, category, brand recommendations and promotions to enhance the end user experience)fulfilment of contractual obligations and other undertakings of the company,management of customer relations,analysing and profiling of customer or other data subject,electronic direct marketing,as part of our efforts to keep our site safe and secure
On our Customers' sites we use profiling to identify the data subjects' personal behavioral profiles, demographic relationships and shopping habits within the scope of our Customers' websites. For more information please see our separate **[Cookie policy](/legal/privacy/cookie-policy)** here.
## DISCLOSURE OF INFORMATION
We do not disclose personal data to external parties. We use subcontractors that process personal data on behalf of and for us. We outsource our Cloud Hosting Infrastructure to Amazon Web Services.
## WHERE WE STORE PERSONAL DATA
We have two active regions EU & US. We may transfer personal data outside of EU/EEA (the United States of America, Australia, Germany, Ireland, Israel, Japan, and the UK). We have taken care of suitable safeguards for the transfer. We use standard contractual clauses accepted by EU or Privacy Shield -framework where applicable.
## HOW DO WE PROTECT THE DATA AND HOW LONG DO WE STORE THEM?
In accordance with our ISO27001 certification, only those of our employees, who on behalf of their work are entitled to process customer data, are entitled to use a system containing personal data. Each user has a personal username and password to the system. The information is collected into databases that are protected by firewalls, passwords and other technical measures. The databases and the backup copies of them are in locked premises and can be accessed only by certain pre-designated persons.
We store the personal data for as long as is necessary considering the purpose of the processing. The maximum period is 2 years from the date when data subject has last time showed activity.
We regularly assess the need for data retention in light of the applicable legislation. In addition, we take reasonable measures to ensure that the personal data is not incompatible, obsolete or inaccurate considering the purpose of the processing. We rectify or delete such information without delay.
We take all steps reasonably necessary to ensure that our visitors' data and Customers' is treated securely and in accordance with this privacy policy.
## VISITORS' RIGHTS
As a data subject (a visitor to our site or our customers' visitors) they have a right to inspect the personal data concerning themselves, which is stored in our databases, and a right to require rectification or erasure of the data, provided that the request has a legal basis. They also have a right to withdraw or change their consent.
As a data subject, they have a right, according to EU's General Data Protection Regulation (applied from 25.5.2018) to object processing or request restricting the processing and lodge a complaint with a supervisory authority responsible for processing personal data.
Our visitors and our Customers' visitors have the right to ask us not to process personal data for marketing purposes. We will usually inform our direct visitors to our site (before collecting data) if we intend to use data for such purposes or if we intend to disclose information to any third party for such purposes. Our visitors can exercise their right to prevent such processing by checking certain boxes on the forms we use to collect your data. Customers' visitors wishing to exercise their rights can in the first instance contact our Customer; PureClarity provides a set of privacy tools to help manage the obligations of the GDPR, see here for more details.
The Act gives our visitors, our Customers and our Customers' visitors the right to access information held about them. Visitors/Customer right of access can be exercised in accordance with the Act. There is no charge for this. We have a full Subject Access Request Procedure which available on request. In summary Subject Access Requests need to be made in writing and will require verification that the person exercising the right are the person whose data we hold.
## CONDITIONS AND LIMITATIONS ON YOUR RIGHTS
There may be conditions to or limitations on aforementioned rights imposed on us by other legislation including adhering to relevant tax laws in every jurisdiction where we trade.
## CHANGES TO OUR PRIVACY POLICY
Any changes we may make to our privacy policy in the future will be posted on this page and, where appropriate, notified to you by e-mail. Please check back frequently to see any updates or changes to our privacy policy.
## CONTACT US
If you have questions regarding this Policy or about the privacy practices of PureClarity, or which to make a Subject Access Request please contact us by email at [support@pureclarity.com](mailto:support@pureclarity.com), or at PureClarity, Great North Way, York Business Park, YORK, YO26 6RB. Please note: If you are a visitor of one of our customers please direct your Subject Access Request directly to them in the first instance.
# Backup & Recovery Policy
Source: https://docs.pureclarity.com/legal/terms/backup-recovery-policy
This document is PureClarity's Backup Policy.
## OVERVIEW
This document is PureClarity's Backup Policy. It is the property of PureClarity and is a controlled document.
Our core service operates within a cloud environment hosted on Amazon Web Services (AWS). The AWS Infrastructure and the PureClarity platform have resilience and redundancy built in, therefore the likely impact on our service is low. The PureClarity platform has to operate 99.99% uptime. To mitigate any risk of service interruption the platform is monitored 365/24/7.
This Backup & Recovery policy forms part of the company's ISO 9001 Quality Management System (QMS – certificate number 206024). The associated data security protection forms part of the company's ISO27001 Information Security Management system (ISMS – certificate number 206109).
## AIMS & SCOPE
This policy's aim is to protect all customer Data that is collected, stored and processed by the PureClarity platform from lost and ensure that Data that is backed up can be recovered. This includes both Raw Data and Meta Data.
## PROCEDURES
The following back-up and recovery procedures are in place:
* All Raw Data and Meta Data is backed up once a day.The recovery process is tested every quarter.
## DEFINITIONS
**Data:** Collectively the Raw Data, Content and the Meta Data.
**Meta Data:** the aggregated data derived from analyzing the Visitors' behavior.
**PCJS:** means the PureClarity JavaScript Snippet, which is installed on the customer's Property for the purpose of collecting Raw Data.
**Property:** means any web page, app, or other online information technology property under the customer's control that sends data to the Software.
**Raw Data:** the initial tracked data collected by the PCJS.
# Service Agreement
Source: https://docs.pureclarity.com/legal/terms/service-agreement
PureClarity Technologies Limited service agreement governing terms and conditions for using PureClarity services
## INTRODUCTION
**THIS AGREEMENT CONSTITUTES A BINDING CONTRACT ON YOU AND GOVERNS YOUR USE OF AND ACCESS TO THE SERVICES BY YOU (the 'CUSTOMER'), WHETHER IN CONNECTION WITH A PAID OR FREE TRIAL SUBSCRIPTION TO THE SERVICES.**
The purpose of this Agreement is to establish the terms and conditions under which the Customer may purchase or use the Services as described in an Online Order Quotation. This Agreement, including the Online Order Quotation, Service Agreement and Data Processing Agreement ("DPA") constitutes the entire agreement between the Customer and PureClarity with regard to the Services.
By accepting this Agreement, by accessing or using a Service, you agree to be bound by this Agreement.
## 1. INTERPRETATION
**1.1** The definitions and rules of interpretation in this clause apply in these Terms.\
**Active SKUs:** set of unique product variants each with a single price and currency or Stock Keeping Units (SKUs) each with a single price and currency that are live and available to view on the Customer's Property.
**Analytics:** set of Raw Data and Meta Data used by the PureClarity Software to determine relevance and personalized results.
**Authorised Users:** those employees, agents and independent contractors of the Customer who are authorised by the Customer to use the Services and the Documentation.
**Base Plan:** the starting Plan within the Subscription Model allocated to the Customer.
**Billing Date:** the first day of each month.
**Business Day:** a day other than a Saturday, Sunday or public holiday in England when banks in London are open for business.
**Campaign Email:** an email campaign which the Customer broadcasts through a 3rd party email broadcast system that embeds a call to the Software to render Zones.
**Confidential Information:** information that is proprietary or confidential and is either clearly labelled as such or identified as Confidential Information in clause 8.1.
**Contracted Processor:** means a Subprocessor;
**Customer Segment:** a group of similar Visitors identifiable by past and current behavioural activity for the purpose of providing personalised results.
**Content:** the data inputted by the Customer, Authorised Users, or PureClarity on the Customer's behalf for the purpose of using the Services or facilitating the Customer's use of the Services, including but not limited to campaigns, product information, Visitor's personal details, searchandising terms and merchandising graphics.
**Data:** Collectively the Raw Data, Content and the Meta Data.
**Data Feed:** product, brand, category and user data transmitted to the PureClarity Software.
**Data Storage:** the storage of the Data and storage to hold a single image backup of such Data.
**Data Protection Laws:** means EU Data Protection Laws and, to the extent applicable, the data protection or privacy laws of any other country;
**Documentation:** the document made available to the Customer by PureClarity at [www.pureclarity.com/docs](http://www.pureclarity.com/docs) which sets out a description of the Services and the user instructions for the Services.
**EEA:** means the European Economic Area;
**EU Data Protection Laws:** means EU Directive 95/46/EC, as transposed into domestic legislation of each Member State and as amended, replaced or superseded from time to time, including by the GDPR and laws implementing or supplementing the GDPR;
**Effective Date:** the date upon which the Customer installs or otherwise accesses the PureClarity Software and/or PureClarity Services
**Free Trial:** a period of time for the Customer to evaluate the PureClarity Software and PureClarity Services, free of charge, within the limits as set out on the PureClarity Website.
**Full Data Feed:** complete set of the Customer's product, brand, category and user data transmitted to the Software with up to a maximum of 4 per day, not exceeding 100MB per feed, additional data feeds will be charged at the prevailing rate.
**GDPR:** means EU General Data Protection Regulation 2016/679;
**Language:** means one of the languages on the list of available languages provided by the PureClarity Software.
**Meta Data:** the aggregated data derived from analysing the Visitors' behaviour.
**Normal Business Hours:** 9.00 am to 5.00 pm local UK time, each Business Day.
**Online Quotation:** the quotation, issued by PureClarity to the Customer, which details the Services to be provided, the limit allowances and the Subscription Fees, as amended from time to time in accordance with these Terms.
**Personal Data:** has the meaning given to it in the Data Protection Laws;
**PCJS:** means PureClarity JavaScript Snippet, which is installed on the Customer's Property for the purpose of collecting Raw Data.
**Personalized Campaign:** a merchandising campaign that is personalised for an individual and/or the Customer Segment.
**Platform Provisions:** defined upper monthly limit allowances as detailed in the Order Online Quotation for number of Store Views, Languages, Staging Environment and Site Page Views per month.
**Product Delta:** a feed of product data transmitted to the PureClarity Software that contains one or more product changes and represents a small percentage of a whole product data feed.
**Property:** means any web page, app, or other online information technology property under the Customer's control that sends data to the PureClarity Software.
**PureClarity:** PureClarity Technologies Limited, a company incorporated and registered in England and Wales with company number 8872063 and whose registered office is at Unit 8, 10 Great North Way, York Business Park, York, YO26 6RB.
**PureClarity Software:** the online PureClarity Software applications and products provided by PureClarity as part of the Services, known as PureClarity.
**PureClarity Website:** means [www.pureclarity.com](http://www.pureclarity.com) and support.pureclarity.com.
**Raw Data:** the initial tracked data collected by the PCJS.
**Services:** the subscription services provided by PureClarity to the Customer under these Terms via "docs.pureclarity.com" or any other website notified to the Customer by PureClarity from time to time, as more particularly described in the Documentation, including the Support Services and Platform Provisions.
**Site:** means a single instance of a the Customer's website running under one domain name.
**Site Page View:** the display of a web page on the site that contains the PCJS or a single Campaign Email.
**Staging Environment:** an environment made available to the Customer for the purpose of developing and testing the integration of the Software with the Customer's Property limited to 5,000 Site Page Views per month and restricted to the Customer's IP address.
**Standard Contractual Clauses:** is defined as agreement pursuant to the European Commission Decision of 5 February 2010 on standard contractual clauses for the transfer of personal data to processors established in third countries under the Regulation forming part of this DPA.
**Store View:** A single view of a Site restricted to one Language but capable of supporting multiple currencies.
**Subprocessor:** means any person appointed by or on behalf of PureClarity to process Personal Data on behalf of the Customer in connection with the Agreement.
**Subscription Fees:** the subscription fees payable by the Customer to the Supplier for the Software at the Platform Provisions and Support Services, as set out in the Order Confirmation.
**Subscription Model:** the collection of Subscription Plans based on upper monthly Site Page Views with associated Subscription Fees along with other Platform Provisions.
**Subscription Plan:** one in a series of successive levels that define the maximum Site Page Views allowable within a month, each Subscription Plan having a subscription fee associated with it based on the prevailing Subscription Model.
**Subscription Term:** has the meaning given in clause 3.1 (being the Initial Subscription Term together with any subsequent Renewal Periods).
**Success Manager:** appointed representative of PureClarity to the Customer to handle all account enquires.
**Support Services:** services relating to the hosting and user support of the PureClarity Software as outlined in the Support Policy.
**Support Policy:** PureClarity's policy for providing support in relation to the Services.
**Subscription Plan:** one in a series of successive levels that define the maximum Site Page Views allowable within a month, each Subscription Plan having a subscription fee associated with it based on the prevailing Subscription Model.
**Terms:** these terms and conditions, as amended from time to time in accordance with clause 11 (Variations).
**Visitor:** a person who visits the Customer's Property.
**Zone:** means a placeholder on the Customer's Property for the purposes of rendering personalised site search and personalised merchandising results generated by the Software.
**1.2** The terms, "Commission", "Controller", "Data Subject", "Member State", "Personal Data", "Personal Data Breach", "Processing" and "Supervisory Authority" shall have the same meaning as in the GDPR, and their cognate terms shall be construed accordingly
**1.3** Clause, schedule and paragraph headings shall not affect the interpretation of these Terms.
**1.4** A person includes an individual, corporate or unincorporated body (whether or not having separate legal personality) and that person's legal and personal representatives, successors or permitted assigns.
**1.5** A reference to a company shall include any company, corporation or other body corporate, wherever and however incorporated or established.
**1.6** Unless the context otherwise requires, words in the singular shall include the plural and in the plural shall include the singular.
**1.7** Unless the context otherwise requires, a reference to one gender shall include a reference to the other genders.
**1.8** Save where expressly stated otherwise within these Terms, a reference to a statute or statutory provision is a reference to it as it is in force as at the Effective Date.
**1.9** Save where expressly stated otherwise within these Terms, a reference to a statute or statutory provision shall include all subordinate legislation made as at the Effective Date under that statute or statutory provision.
**1.10** A reference to writing or written includes faxes and e-mail.
**1.11** References to clauses and schedules are to the clauses and schedules of these Terms; references to paragraphs are to paragraphs of the relevant schedule to these Terms.
## 2. SERVICES
**2.1** Subject to these Terms and Conditions, during the term of this Agreement, PureClarity grants to the Customer a non-exclusive, non-transferable, non-sublicensable license to use the PureClarity Software and PureClarity Services solely for the Customer's internal business purposes, solely in accordance with the Documentation and solely for the scope for which the Customer pays the applicable fees and subject to the limitations on PureClarity's website.
**2.2** PureClarity shall, during the Subscription Term, provide the Services and make available the Documentation to the Customer on and subject to the terms of these Terms.
**2.3** PureClarity shall use commercially reasonable endeavours to make the Services available 24 hours a day, seven days a week, except for: a) planned maintenance; and b) unscheduled maintenance, the procedure for which is set out in the Support Service Policy.
**2.4** PureClarity will, as part of the Services and at no additional cost to the Customer, provide the Customer with PureClarity's standard the Customer Support Services during Normal Business Hours in accordance with PureClarity's Support Policy in effect at the time that the Services are provided. PureClarity may amend the Support Policy in its sole and absolute discretion from time to time.
**2.5** the PureClarity Software is hosted in a multi-tenanted cloud environment; PureClarity reserves the right, at its sole discretion, to move this architecture to a similar environment at any point, and shall use its reasonable endeavours to provide the Customer with 30 days' notice of such change.
## 3. TERM
**3.1** These Terms and Conditions will commence on the earlier of the date these Terms and Conditions are accepted by the Customer or the date the Customer installs or otherwise accesses PureClarity Software and/or PureClarity Services (the "Effective Date").
**3.2** Thirty Day Trial. Upon the Customer's initial sign-up for a Free Trial, the Customer will have a free, thirty (30) day evaluation period (the "Trial Period") for PureClarity Services commencing on the Effective Date, subject to the limitations on PureClarity's website. If, at the end of the Trial Period, the Customer fails to sign up for a longer-term plan, the Terms and Conditions will automatically terminate unless PureClarity agrees, in its sole discretion, to extend the Trial Period. This Trial Period may be extended from time to time and advertised and delivered accordingly; the principles and all other Terms and Conditions remain the same, regardless of Trial Period.
**3.3** After The Expiration Of The Trial Period. After the expiration of the Trial Period, the term of these Terms and Conditions shall continue for a three (3) month term (the "Initial Subscription Term"), unless the Customer signs up for a longer term through PureClarity website, subject to termination as set forth in this clause 3. Upon the expiration of each term, these Terms and Conditions shall automatically renew for successive periods of one (1) month (the "Renewal Period") unless either party provides thirty (30) days' notice prior to the end of the then-current term. The Initial Subscription Term together with any subsequent Renewal Periods shall constitute the Subscription Term.
**3.4** Without affecting any other right or remedy available to it, either party may terminate these Terms with immediate effect by giving written notice to the other party if: a) the other party fails to pay any amount due under these Terms on the due date for payment and remains in default not less than 14 days after being notified in writing to make such payment; b) the other party commits a material breach of any other term of these Terms which breach is irremediable or (if such breach is remediable) fails to remedy that breach within a period of 14 days after being notified in writing to do so; c) the other party repeatedly breaches any of the terms of these Terms in such a manner as to reasonably justify the opinion that its conduct is inconsistent with it having the intention or ability to give effect to the terms of these Terms; d) the other party suspends, or threatens to suspend, payment of its debts or is unable to pay its debts as they fall due or admits inability to pay its debts or is deemed unable to pay its debts within the meaning of section 123 of the Insolvency Act 1986; e) the other party commences negotiations with all or any class of its creditors with a view to rescheduling any of its debts, or makes a proposal for or enters into any compromise or arrangement with its creditors other than for the sole purpose of a scheme for a solvent amalgamation of that other party with one or more other companies or the solvent reconstruction of that other party; f) a petition is filed, a notice is given, a resolution is passed, or an order is made, for or in connection with the winding up of that other party other than for the sole purpose of a scheme for a solvent amalgamation of that other party with one or more other companies or the solvent reconstruction of that other party; g) an application is made to court, or an order is made, for the appointment of an administrator, or if a notice of intention to appoint an administrator is given or if an administrator is appointed, over the other party; (h) the holder of a qualifying floating charge over the assets of that other party has become entitled to appoint or has appointed an administrative receiver; (i) a person becomes entitled to appoint a receiver over the assets of the other party or a receiver is appointed over the assets of the other party; (j) a creditor or encumbrancer of the other party attaches or takes possession of, or a distress, execution, sequestration or other such process is levied or enforced on or sued against, the whole or any part of the other party's assets and such attachment or process is not discharged within 14 days; (k) any event occurs, or proceeding is taken, with respect to the other party in any jurisdiction to which it is subject that has an effect equivalent or similar to any of the events mentioned in clause 3.3 d) to clause 3.3 h) (inclusive); l) the other party suspends or ceases, or threatens to suspend or cease, carrying on all or a substantial part of its business; m) any warranty given by PureClarity in clause 7.4 of these Terms is found to be untrue or misleading; or n) in accordance with clause 11 (varation).
**3.5** On termination of these Terms for any reason: a) all licences granted under these Terms shall immediately terminate; b) each party shall return and make no further use of any equipment, property, Documentation and other items (and all copies of them) belonging to the other party; c) any rights, remedies, obligations or liabilities of the parties that have accrued up to the date of termination, including the right to claim damages in respect of any breach of the agreement which existed at or before the date of termination shall not be affected or prejudiced; and d) delete all copies of the PCJS and Behavioural Merchandising Zones from all Properties and certify in writing to PureClarity within 3 business days of such deletion that the provisions of this clause 3.3d) have been complied with.
## 4. OBLIGATIONS
## PURECLARITY
**4.1** PureClarity undertakes that the Services will be performed substantially in accordance with the Documentation and with reasonable skill and care.
**4.2** The undertaking at clause 4.1 shall not apply to the extent of any non-conformance which is caused by use of the Services contrary to PureClarity's instructions, or modification or alteration of the Services by any party other than PureClarity or PureClarity's duly authorised contractors or agents. If the Services do not conform with the foregoing undertaking, PureClarity will, at its expense, use all reasonable commercial endeavours to correct any such non-conformance promptly, or use its reasonable endeavours to provide the Customer with an alternative means of accomplishing a similar result. Such correction or substitution constitutes the Customer's sole and exclusive remedy for any breach of the undertaking set out in clause 7.1. Notwithstanding the foregoing, PureClarity: a) does not warrant that the Customer's use of the Services will be uninterrupted or error-free; or that the Services, Documentation and/or the information obtained by the Customer through the Services will meet the Customer's requirements; and b) is not responsible for any delays, delivery failures, or any other loss or damage resulting from the transfer of data over communications networks and facilities, including the internet, and the Customer acknowledges that the Services and Documentation may be subject to limitations, delays and other problems inherent in the use of such communications facilities.
**4.3** This agreement shall not prevent PureClarity from entering into similar agreements with third parties, or from independently developing, using, selling or licensing documentation, products and/or services which are similar to those provided by PureClarity under these Terms.
**4.4** PureClarity warrants that it has and will maintain all necessary licences, consents, and permissions necessary for the performance of its obligations under these Terms.
## CUSTOMER OBLIGATIONS
**4.5** the Customer shall: a) provide PureClarity with: (i) all necessary co-operation in relation to these Terms; and (ii) all necessary access to such information as may be required by PureClarity; in order to provide the Services, including but not limited to Raw Data, Content, security access information and configuration services; b) comply with all applicable laws and regulations with respect to its activities under these Terms; c) carry out all other the Customer responsibilities set out in these Terms in a timely and efficient manner. In the event of any delays in the Customer's provision of such assistance as agreed by the parties, PureClarity may adjust any agreed timetable or delivery schedule as reasonably necessary; and d) ensure that the Authorised Users use the Services and the Documentation in accordance with the terms and conditions of these Terms and shall be responsible for any Authorised User's breach of these Terms;
**4.6** the Customer shall not upload any Content during the course of its use of the Services that: a) is unlawful, harmful, threatening, defamatory, obscene, infringing, harassing or racially or ethnically offensive; b) facilitates illegal activity; c) depicts sexually explicit images; d) promotes unlawful violence; e) is discriminatory based on race, gender, colour, religious belief, sexual orientation, disability; or f) in a manner that is otherwise illegal or causes damage or injury to any person or property; and g) PureClarity reserves the right, without liability or prejudice to its other rights to the Customer, to disable the Customer's access to, and to remove any material that breaches the provisions of this clause.
**4.7** the Customer shall not license, sell, rent, lease, transfer, assign, distribute, display, disclose, or otherwise commercially exploit, or otherwise make the Services and/or Documentation available to any third party except the Authorised Users.
**4.8** the Customer shall use all reasonable endeavours to prevent any unauthorised access to, or use of, the Services and, in the event of any such unauthorised access or use, promptly notify PureClarity.
## 5. FEES
**5.1** the Customer shall pay the Subscription Fees to PureClarity for the Services in accordance with this clause 5 and the Online Quotation.
**5.2** If PureClarity has not received payment within 14 days of each Billing Date, and without prejudice to any other rights and remedies of PureClarity: a) PureClarity may, without liability to the Customer, disable the Customer's password, account and access to all or part of the Services and PureClarity shall be under no obligation to provide any or all of the Services while the invoice(s) concerned remain unpaid; and b) compensatory sums shall be charged and interest shall accrue on a daily basis on such due amounts in the sums and at the rates specified by the Late Payment of Commercial Debts (Interest) Act 1998 (as amended from time to time), commencing on the due date and continuing until fully paid, whether before or after judgment.
**5.3** All amounts and fees stated or referred to in these Terms: a) shall be payable in the stated currency as set out in the Online Quotation; b) are, subject to clause 13.4b), non-cancellable and non-refundable; and c) are exclusive of any and all taxes, fees and duties or other amounts, including sales, use, withholding and value added taxes, which are levied or based upon these Terms.
**5.4** If, at any time whilst using the Services, the Customer exceeds the allocated Platform Provisions, PureClarity shall charge the Customer, and the Customer shall pay, PureClarity's additional charges as set out in the Online Quotation and the prevailing Subscription Model.
**5.5** For the avoidance of doubt, the Subscription Fees do not include training courses in respect of the Customer's utilisation of the Services or any product of the Services, other than those available on PureClarity website. Training courses are available on a charged basis, the details and cost of which are available on request from the Success Manager. Subscription Fees also do not include onboarding services, the details and cost of which are available on request from the Success Manager.
**5.6** The Subscriptions Fees may increase by up to the Retail Price Index published by The Office of National Statistics for the UK. Any such increase shall be limited to once in any 12-month period, for which PureClarity shall give the Customer not less than 28 days written notice of the change.
## 6. UPGRADES
**6.1** In the event that the Site Page Views exceed the Base plan, as detailed in the Online Quotation, in any one month, PureClarity will automatically upgrade the Customer to a Plan within Subscription Model that does not exceed the used Site Page Views. This upgrade or any subsequent update made during the month will last for the duration of that month and will then revert to the Base Plan as detailed in the Online Quotation on the following month and be subject to this clause 6.1.
**6.2** In the event that the number of Data Feeds exceeding the Platform Provisions (see Full Data Feeds), PureClarity will charge the Customer the upgrade fees as detailed in the Online Quotation.
**6.3** the Customer may, from time to time during any Subscription Term, purchase additional Store Views and Data Feeds in excess of the allocated Platform Provisions as set out in the Online Quotation and/or additional add-on products and PureClarity shall grant access to the Services in accordance with the provisions of these Terms.
## 7. DATA PROCESSING & PROTECTION
## GENERAL
**7.1** Each party shall comply with the applicable Data Protection Laws with respect to the processing of the Personal Data.
**7.2** With respect to processing Personal Data the Customer shall be the data controller and PureClarity shall be a data processor
**7.3** the Customer shall only supply to PureClarity, and PureClarity shall only process, in each case under or in relation to this Agreement, the Personal Data of Data Subjects falling within the categories and types specified in Schedule 1 (Data processing information).
**7.4** the Customer warrants to PureClarity that it has the legal right to disclose all Personal Data that it does in fact disclose to PureClarity under or in connection with this Agreement.
**7.5** PureClarity shall only process the Customer Personal Data during the Term subject to the other provisions of this Clause 7.
## DATA SECURITY
**7.6** Taking into account the state of the art, the costs of implementation and the nature, scope, context and purposes of Processing as well as the risk of varying likelihood and severity for the rights and freedoms of natural persons, Supplier shall in relation to the Personal Data implement appropriate technical and organizational measures to ensure a level of security appropriate to that risk, including, as appropriate, the measures referred to in Article 32(1) of the GDPR.
**7.7** In assessing the appropriate level of security, PureClarity shall take account in particular of the risks that are presented by Processing, in particular from a Personal Data Breach.
**7.8** PureClarity shall take reasonable steps to ensure the reliability of any employee, agent or contractor of any Subprocessor who may have access to Personal Data, ensuring in each case that access is strictly limited to those individuals who need to know / access the relevant Personal Data, as strictly necessary for the purposes of the Agreement, and to comply with applicable Data Protection Laws in the context of that individual's duties to the Contracted Supplier, ensuring that all such individuals are subject to confidentiality undertakings or professional or statutory obligations of confidentiality.
**7.9** PureClarity shall, in providing the Services, comply with its "Privacy and Security Policy" relating to the privacy and security of the Data.
## SUBPROCESSING
**7.10** PureClarity may subcontract to other companies to provide limited services on its behalf, provided that PureClarity complies with the provisions of this Clause. Any such subcontractors will be permitted to process personal data only to deliver the services PureClarity has retained them to provide, and they shall be prohibited from using personal data for any other purpose. PureClarity remains responsible for its subcontractors' compliance with the obligations of this Agreement. Any subcontractors to whom PureClarity transfers personal data will have entered into written agreements with PureClarity requiring that the subcontractor abide by terms substantially similar to the Data Processing terms in this Agreement. A list of subcontractors/subprocessors is listed in Schedule 1, which maybe varied from time to time at the discretion of PureClarity.
## DATA SUBJECT RIGHTS
**7.11** Taking into account the nature of the Processing, PureClarity shall assist the Customer by implementing appropriate technical and organisational measures, insofar as this is possible, for the fulfilment of the Customer's obligations, as reasonably understood by the Customer, to respond to requests to exercise Data Subject rights under the Data Protection Laws.
**7.12** PureClarity shall promptly notify the Customer if it receives a request from a Data Subject under any Data Protection Law in respect of Company Personal Data; and ensure that it does not respond to that request except on the documented instructions of the Customer or as required by applicable Data Protection Laws to which PureClarity is subject, in which case PureClarity shall to the extent permitted by applicable Data Protection Laws inform the Customer of that legal requirement before the Contracted Processor responds to the request.
## PERSONAL DATA BREACH
**7.13** PureClarity shall notify the Customer without undue delay upon PureClarity becoming aware of a Personal Data Breach affecting Company Personal Data, providing the Customer with sufficient information to allow the Customer to meet any obligations to report or inform Data Subjects of the Personal Data Breach under the Data Protection Laws.
**7.14** PureClarity shall co-operate with the Customer and take reasonable commercial steps as are directed by the Customer to assist in the investigation, mitigation and remediation of each such Personal Data Breach.
## DELETION OR RETURN OF PERSONAL DATA
**7.15** PureClarity shall promptly and in any event within 10 business days of the date of cessation of any Services involving the Processing of Company Personal Data (the "Cessation Date"), delete and procure the deletion of all copies of those Company Personal Data.
## AUDIT RIGHTS
**7.16** PureClarity shall make available to the Customer on request all information necessary to demonstrate compliance with this Agreement, and shall allow for and contribute to audits, including inspections, by the Customer or an auditor mandated by the Customer in relation to the Processing of the Company Personal Data by the Contracted Processors.
**7.17** Information and audit rights of the Customer only arise under section 10.1 to the extent that the Agreement does not otherwise give them information and audit rights meeting the relevant requirements of Data Protection Law.
## DATA TRANSFER
**7.18** *Regions.* While providing the Service to the Customer, PureClarity uses third party service providers and subcontractors ("Sub-processors") located in the USA and EU. Therefore, it is necessary for PureClarity to transfer the Customer Data to Sub-processors based on either the Data Processing Agreements which incorporate the Standard Contractual Clauses or by abiding to the EU-USA Privacy Shield. By accepting this Agreement, the Customer authorises PureClarity to enter into the required Data Processing Agreement(s), including where applicable the Standard Contractual Clauses, with Sub-processors on behalf of the Customer. PureClarity has implemented technical and organizational precautions defined in this DPA to protect the security and integrity of the Customer Data processed by PureClarity Infrastructure.
**7.19** *Application of Standard Contractual Clauses.* The Standard Contractual Clauses will apply to the Customer Data that is transferred, either directly or via onward transfer, to Sub-processor located in USA or EU. The Standard Contractual Clauses will not apply to the Customer Data that is not transferred, either directly or via onward transfer, outside the EEA. Notwithstanding the foregoing, the Standard Contractual Clauses will not apply: if Sub-processor in question has adopted an alternative recognized compliance standard for the lawful transfer of personal data (such as Privacy Shield) outside the EEA.
## BACKUP & RECOVERY
**7.20** PureClarity shall follow its archiving procedures for the Data as set out in its "Backup and Recovery Policy", as such document may be amended by PureClarity in its sole discretion from time to time. In the event of any loss or damage to Data, the Customer's sole and exclusive remedy shall be for PureClarity to use reasonable commercial endeavours to restore the lost or damaged Data from the latest back-up of such Data maintained by PureClarity in accordance with the archiving procedure described in its "Backup & Recovery Policy". PureClarity shall not be responsible for any loss, destruction, alteration or disclosure of Data caused by any third party (except those third parties sub-contracted by PureClarity to perform services related to the Customer Data maintenance and back-up).
## OWNERSHIP
**7.21** the Customer shall own all right, title and interest in and to all of the Raw Data and Content and shall have sole responsibility for the legality, reliability, integrity, accuracy and quality of the Raw Data and Content.
**7.22** PureClarity shall own all right, title and interest in and to all the Meta Data and shall have sole responsibility for the legality, reliability, integrity, accuracy and quality of the Meta Data.
## DATA COLLECTION
**7.23** the Customer or its agents must ensure that the PCJS is correctly installed in accordance with the instructions provided by PureClarity in order to allow Raw Data to be collected by the PureClarity Software. PureClarity shall not be responsible for any failure in the provision of the Services as a result of failure to comply with this clause.
## 8. CONFIDENTIALITY
**8.1** Each party may be given access to Confidential Information from the other party in order to perform its obligations under these Terms. A party's Confidential Information shall not be deemed to include information that: a) is or becomes publicly known other than through any act or omission of the receiving party; b) was in the other party's lawful possession before the disclosure; c) is lawfully disclosed to the receiving party by a third party without restriction on disclosure; d) is independently developed by the receiving party, which independent development can be shown by written evidence; or e) is required to be disclosed by law, by any court of competent jurisdiction or by any regulatory or administrative body.
**8.2** Each party shall hold the other's Confidential Information in confidence and, unless required by law, not make the other's Confidential Information available to any third party or use the other's Confidential Information for any purpose other than the implementation of these Terms.
**8.3** Each party shall take all reasonable steps to ensure that the other's Confidential Information to which it has access is not disclosed or distributed by its employees or agents in violation of the terms of these Terms.
**8.4** Neither party shall be responsible for any loss, destruction, alteration or disclosure of Confidential Information caused by any third party.
**8.5** the Customer acknowledges that details of the Services, and the results of any performance tests of the Services, constitute PureClarity's Confidential Information.
**8.6** PureClarity acknowledges that the Raw Data and the Content is the Confidential Information of the Customer.
**8.7** PureClarity can use the Meta Data for other commercial purposes, insofar as such Meta Data is suitably anonymised so as to retain the anonymity of the Customer, and any the Customer or potential the Customer of the Customer.
**8.8** This clause 8 shall survive termination of these Terms, however arising.
**8.9** No party shall make, or permit any person to make, any public announcement concerning these Terms without the prior written consent of the other parties (such consent not to be unreasonably withheld or delayed), except as required by law, any governmental or regulatory authority (including, without limitation, any relevant securities exchange), any court or other authority of competent jurisdiction.
## 9. INDEMNITY
**9.1** the Customer shall defend, indemnify and hold harmless PureClarity against claims, actions, proceedings, losses, damages, expenses and costs (including without limitation court costs and reasonable legal fees) arising out of or in connection with the Customer's use of the Services and/or Documentation, provided that: a) the Customer is given prompt notice of any such claim; b) PureClarity provides reasonable co-operation to the Customer in the defence and settlement of such claim, at the Customer's expense; and c) the Customer is given sole authority to defend or settle the claim.
**9.2** PureClarity shall defend the Customer, its officers, directors and employees against any claim that the Services or Documentation infringes any patent effective as of the Effective Date, copyright, trade mark, database right or right of confidentiality, and shall indemnify the Customer for any amounts awarded against the Customer in judgment or settlement of such claims, provided that: a) PureClarity is given prompt notice of any such claim; b) the Customer provides reasonable co-operation to PureClarity in the defence and settlement of such claim, at PureClarity's expense; and c) PureClarity is given sole authority to defend or settle the claim.
**9.3** In the defence or settlement of any claim, PureClarity may procure the right for the Customer to continue using the Services, replace or modify the Services so that they become non-infringing or, if such remedies are not reasonably available, terminate these Terms on 2 Business Days' notice to the Customer without any additional liability or obligation to pay liquidated damages or other additional costs to the Customer.
**9.4** In no event shall PureClarity, its employees, agents and sub-contractors be liable to the Customer to the extent that the alleged infringement is based on: a) a modification of the Services or Documentation by anyone other than PureClarity; or b) the Customer's use of the Services or Documentation in a manner contrary to the instructions given to the Customer by PureClarity; or c) the Customer's use of the Services or Documentation after notice of the alleged or actual infringement from PureClarity or any appropriate authority.
**9.5** The foregoing and clause 10.4b) state the Customer's sole and exclusive rights and remedies, and PureClarity's (including PureClarity's employees', agents' and sub-contractors') entire obligations and liability, for infringement of any patent, copyright, trade mark, database right or right of confidentiality.
## 10. LIMITATION OF LIABILITY
**10.1** This clause 13 sets out the entire financial liability of PureClarity (including any liability for the acts or omissions of its employees, agents and sub-contractors) to the Customer: a) arising under or in connection with these Terms; b) in respect of any use made by the Customer of the Services and Documentation or any part of them; and c) in respect of any representation, statement or tortious act or omission (including negligence) arising under or in connection with these Terms.
**10.2** Except as expressly and specifically provided in these Terms: a) the Customer assumes sole responsibility for results obtained from the use of the Services and the Documentation by the Customer, and for conclusions drawn from such use. PureClarity shall have no liability for any damage caused by errors or omissions in any information, instructions or scripts provided to PureClarity by the Customer in connection with the Services, or any actions taken by PureClarity at the Customer's direction; b) all warranties, representations, conditions and all other terms of any kind whatsoever implied by statute or common law are, to the fullest extent permitted by applicable law, excluded from these Terms; and c) the Services and the Documentation are provided to the Customer on an "as is" basis.
**10.3** Nothing in these Terms excludes the liability of PureClarity: a) for death or personal injury caused by PureClarity's negligence; or b) for fraud or fraudulent misrepresentation.
**10.4** Subject to clause 10.2 and clause 10.3: a) PureClarity shall not be liable whether in tort (including for negligence or breach of statutory duty), contract, misrepresentation, restitution or otherwise for any loss of profits, loss of business, depletion of goodwill and/or similar losses or loss or corruption of data or information, or pure economic loss, or for any special, indirect or consequential loss, costs, damages, charges or expenses however arising under these Terms; and b) PureClarity's total aggregate liability in contract (including in respect of the indemnity at clause 9.2), tort (including negligence or breach of statutory duty), misrepresentation, restitution or otherwise, arising in connection with the performance or contemplated performance of these Terms shall be limited to the total Subscription Fees paid, and actually received in cleared funds by PureClarity, for the Services during the 12 months immediately preceding the date on which the claim arose.
## 11. GENERAL TERMS
## PROPRIETARY RIGHTS
The Customer acknowledges and agrees that PureClarity and/or its licensors own all intellectual property rights in the Services and the Documentation. Except as expressly stated herein, these Terms do not grant the Customer any rights to, or in, patents, copyright, database right, trade secrets, trade names, trademarks (whether registered or unregistered), or any other rights or licences in respect of the Services or the Documentation.
PureClarity confirms that it has all the rights in relation to the Services and the Documentation that are necessary to grant all the rights it purports to grant under, and in accordance with, the terms of these Terms.
## FORCE MAJEURE
PureClarity shall have no liability to the Customer under these Terms if it is prevented from or delayed in performing its obligations under these Terms, or from carrying on its business, by acts, events, omissions or accidents beyond its reasonable control, including, without limitation, strikes, lock-outs or other industrial disputes (whether involving the workforce of PureClarity or any other party), failure of a utility service or transport or telecommunications network, act of God, war, riot, civil commotion, malicious damage, compliance with any law or governmental order, rule, regulation or direction, accident, breakdown of plant or machinery, fire, flood, storm or default of PureClaritys or sub-contractors, provided that the Customer is notified of such an event and its expected duration.
## CONFLICT
If there is an inconsistency between any of the provisions in the main body of these Terms and the Online Quotation, the provisions in the main body of these Terms shall prevail.
## VARIATION
These Terms and Conditions may be amended by PureClarity upon thirty (30) days' notice by posting notice on the PureClarity website and the Customer may terminate this Agreement without penalty upon notice to PureClarity within ten (10) days of the amendment. Notwithstanding the foregoing, in the event the parties enter into, or have entered into a formal written agreement, including, without limitation an agreement which the parties have electronically signed, the terms of that agreement shall control over the terms of these Terms and Conditions.
## WAIVER
No failure or delay by a party to exercise any right or remedy provided under these Terms or by law shall constitute a waiver of that or any other right or remedy, nor shall it prevent or restrict the further exercise of that or any other right or remedy. No single or partial exercise of such right or remedy shall prevent or restrict the further exercise of that or any other right or remedy.
## RIGHTS AND REMEDIES
Except as expressly provided in these Terms, the rights and remedies provided under these Terms are in addition to, and not exclusive of, any rights or remedies provided by law.
## SEVERANCE
If any provision (or part of a provision) of these Terms is found by any court or administrative body of competent jurisdiction to be invalid, unenforceable or illegal, the other provisions shall remain in force.
If any invalid, unenforceable or illegal provision would be valid, enforceable or legal if some part of it were deleted, the provision shall apply with whatever modification is necessary to give effect to the commercial intention of the parties.
## ENTIRE AGREEMENT
These Terms, and any documents referred to in them, constitute the whole agreement between the parties and supersede any previous arrangement, understanding or agreement between them relating to the subject matter they cover.
Each of the parties acknowledges and agrees that in entering into these Terms it does not rely on any undertaking, promise, assurance, statement, representation, warranty or understanding (whether in writing or not) of any person (whether party to these Terms or not) relating to the subject matter of these Terms, other than as expressly set out in these Terms.
## ASSIGNMENT
The Customer shall not, without the prior written consent of PureClarity, assign, transfer, charge, sub-contract or deal in any other manner with all or any of its rights or obligations under these Terms.
PureClarity may at any time assign, transfer, charge, sub-contract or deal in any other manner with all or any of its rights or obligations under these Terms.
## NO PARTNERSHIP OR AGENCY
Nothing in these Terms is intended to or shall operate to create a partnership between the parties, or authorise either party to act as agent for the other, and neither party shall have the authority to act in the name or on behalf of or otherwise to bind the other in any way (including, but not limited to, the making of any representation or warranty, the assumption of any obligation or liability and the exercise of any right or power).
## THIRD PARTY RIGHTS
These Terms do not confer any rights on any person or party (other than the parties to these Terms and, where applicable, their successors and permitted assigns) pursuant to the Contracts (Rights of Third Parties) Act 1999.
## NOTICES
Any notice required to be given under these Terms shall be in writing and shall be delivered by hand or sent by pre-paid first-class post or recorded delivery post to the other party at its address notified by that party for such purposes, or sent by fax to the other party's fax number as notified in writing by one party to the other.
A notice delivered by hand shall be deemed to have been received when delivered (or if delivery is not in business hours, at 9 am on the first business day following delivery). A correctly addressed notice sent by pre-paid first-class post or recorded delivery post shall be deemed to have been received at the time at which it would have been delivered in the normal course of post. A notice sent by fax shall be deemed to have been received at the time of transmission (as shown by the timed printout obtained by the sender).
## GOVERNING LAW
This agreement and any dispute or claim arising out of or in connection with it or its subject matter or formation (including non-contractual disputes or claims) is governed by and must be construed in accordance with the law of England and Wales.
## JURISDICTION
Each party irrevocably agrees that the courts of England and Wales shall have exclusive jurisdiction to settle any dispute or claim arising out of or in connection with these Terms or its subject matter or formation (including non-contractual disputes or claims).
# Product Updates
Source: https://docs.pureclarity.com/product-updates
The latest improvements and new features in PureClarity
## Smoother signup experience
We've simplified the signup process by removing the region selection step. All new accounts will now default to our EU region, making it quicker and easier for you to get started with PureClarity.
## Enhanced admin dashboard navigation
The admin dashboard’s tree navigation now features dynamic padding based on each node’s level. This small visual improvement makes it easier to scan and manage complex menus, helping you find what you need faster.
## Explore your brands and categories with ease
We’ve introduced new Brand and Category Explorer components to your dashboard, making it simpler to browse and manage your store’s key segments. This gives you greater visibility and control over your merchandising, helping you optimize your store’s performance.
## Effortless client script generation
You’ll now find a “Generate ClientScript” button in the migration details view. This makes it faster and easier to obtain the integration script you need, streamlining your setup and reducing time to launch.
## Enhanced collection hierarchy support
We’ve introduced support for collection hierarchies, making it easier to organize and manage your product collections. This gives you more flexibility and control over how your products are grouped and displayed to shoppers.
## Smarter category feed generation
Category feed generation has been improved to better reflect your store’s structure. This ensures your product categories are accurately represented, helping shoppers find what they’re looking for more quickly and improving their overall experience.
## Seamless migration from US to EU region
We’ve introduced support to help you migrate your PureClarity application from the US to the EU region. This makes it easier to align your store’s data location with your business needs or compliance requirements, ensuring a smooth transition with minimal disruption.
## Restored recommender performance insights
We've fixed an issue that was preventing accurate tracking of recommendation performance data in your dashboard. With this update, impression counts and performance metrics are now fully restored, giving you clear visibility into how your recommendations are engaging shoppers.
## More reliable recommendation reporting
By correcting how impression data is written and aggregated, your performance reports now reflect the true impact of PureClarity's recommendations. This ensures you can confidently measure and optimize your store’s personalization strategies.
## Improved platform reliability
We’ve made behind-the-scenes improvements to how PureClarity manages data indexing. While you won’t see any changes in your dashboard, these updates help ensure a smoother, more consistent experience across the platform.
## Smoother feed processing for your store
We've reduced the chunk size for product feeds, helping prevent failures and ensuring your store's data updates reliably. This means your product and user feeds are processed more smoothly, minimizing interruptions and delays.
## Improved BigCommerce integration
We fixed issues with the path to static content for BigCommerce stores in both production and development environments. Your store's integration will now work seamlessly, providing a consistent experience for you and your customers.
## Enhanced onboarding experience
The action link for scheduling your onboarding call has been updated in the NextSteps area, making it easier for you to connect with our team and get started quickly.
## Improved platform reliability
We’ve made behind-the-scenes improvements to ensure a smoother, more consistent experience across the PureClarity platform. You can expect continued reliability and stability as you manage your store and integrations.
## Improved platform reliability
We’ve made behind-the-scenes improvements to ensure PureClarity runs more smoothly and consistently for your store. While there are no visible changes this month, you can expect a more stable experience as we continue to refine our platform.
## Improved platform reliability
We've made behind-the-scenes improvements to how PureClarity handles background tasks, ensuring a smoother and more consistent experience for your store. You can expect reliable performance as we continue to enhance our platform's stability.
## Smoother experience for your customers
We've reduced the size of the PureClarity script chunks, making it easier for browsers to load and process your storefront personalization features. This improvement helps ensure faster, more reliable page loads for your visitors, with no action required on your part.
## Improved platform reliability
We've made behind-the-scenes improvements to ensure PureClarity continues to deliver a smooth and consistent experience for you and your customers. The platform remains stable and reliable, so you can focus on growing your store with confidence.
## Personalise your account profile
You can now upload, change, or remove a profile picture directly from the My Account area in the PureClarity admin. Your profile image is displayed alongside your account details, making it easy to put a face to your account.
## Improved platform reliability
This release includes a range of behind-the-scenes stability improvements that contribute to a smoother, more consistent day-to-day experience across the platform.
## Faster product feed processing
Product feed processing is now significantly faster, especially for stores with large catalogues. Product updates, pricing changes, and inventory adjustments will appear on your site recommenders sooner after a feed is submitted.
## Smarter handling of unchanged feeds
When a feed is submitted that is identical to the currently used feed, PureClarity now skips it automatically — saving time and ensuring your real changes are processed faster.
## Improved exclusion rule performance
Stores using recommender exclusion rules (by brand, attribute, or category) will see faster feed processing times, with no changes needed on your side.
## Faster background processing for fresher results
We’ve improved how PureClarity handles several behind-the-scenes tasks by running more work in parallel. This helps important processing complete sooner, keeping your data and on-site experiences moving along more quickly—especially during busier periods.
## More reliable day-to-day operation
These releases also include general stability and maintainability improvements. While they don’t change how the platform looks or works in the dashboard, they help PureClarity run more smoothly and consistently.
## Faster page loads for your customers
We've reduced the size of the PureClarity script that runs on your storefront by 8%, meaning faster page loads for every visitor. This is an automatic improvement — no action needed on your side.
## Smarter feed processing
PureClarity now automatically detects when a product or user feed is identical to the one already processed, and skips unnecessary reprocessing. This means faster data updates and less wasted processing time, especially for stores on scheduled feed submissions.
## Improved recommendation accuracy
We resolved an issue that could prevent some advanced recommendation models — including collaborative filtering and frequently-bought-together suggestions — from generating. Stores using these features will see more consistent and accurate recommendations.
## Dashboard performance improvements
The PureClarity dashboard is now significantly faster when loading campaigns, segments, and zones. Pages that previously took several seconds to load are now near-instant, making it quicker to manage your personalisation strategy.
## API documentation
For stores using a custom integration, we've published a comprehensive [API Reference](/integrations/custom/api-reference/getting-started/overview) with detailed documentation for all public endpoints, including request and response examples.
## Shopify Markets support
Updated our Shopify integration to comply with the latest Shopify Markets API changes, ensuring international stores continue to sync product and customer data correctly.
## Better handling of large product catalogues
Improved how we process large data volumes, particularly for stores with extensive product catalogues. Feed processing is now more resilient and handles edge cases more gracefully.
## Reliability improvements
Various stability and reliability improvements across the platform, including better error handling and more resilient data synchronisation.
# Email Acceptable Use Policy
Source: https://docs.pureclarity.com/support/email/acceptable-use-policy
Official acceptable use policy for PureClarity's personalized email service, including prohibited content guidelines and bounce/complaint rate requirements
# Email Acceptable Use Policy
## Overview
This Acceptable Use Policy describes prohibited uses and bounce and complaint limitations of the PureClarity Personalised Email service and its Email Service Providers (the "Service"). The examples described in this Policy are not exhaustive.
We may modify this Policy at any time by posting a revised version on the PureClarity Support Center. By using the service or accessing the PureClarity Email System, you agree to the latest version of this Policy. If you violate the Policy we may suspend or terminate your use of the Service.
## Prohibited Content
You will not create content within the Service and distribute, publish or facilitate the sending of unsolicited mail or other messages, promotions, advertising, or solicitations (like "spam"), including commercial advertising and informational announcements.
### What You Cannot Send
Please don't use PureClarity to send anything offensive, to promote anything illegal, or to harass anyone. You may not send:
* **Emails offering to sell illegal goods or services**
* **Emails that violate CAN-SPAM Laws**
* **Offensive or Harmful content**
* **Infringing content**
These restrictions help maintain the reputation and deliverability of the PureClarity email system for all users.
## Complaints and Bounces
We take email complaints and bounces seriously. As the Service is used by multiple organisations high bounce and complaint rates caused by individual applications could ultimately impact the deliverability of the system as a whole.
### Automatic Protection Measures
PureClarity attempts to automatically blacklist any email address that results in a bounce or a complaint.
### Rate Guidelines
As a guide we aim to keep bounce rates under **5%** and complaints under **0.1%**.
### Your Responsibilities
You must ensure that:
1. **Previously unsubscribed emails** that you are aware of have been imported into the PureClarity Email System
2. **Any changes to a user's email preferences** are pushed to PureClarity using the PureClarity API or by regularly importing updates in the PureClarity administration console
### Best Practices for Compliance
#### Maintain Clean Email Lists
* **Regular List Hygiene**: Remove invalid and bounced email addresses
* **Double Opt-in**: Use confirmed opt-in processes for new subscribers
* **Unsubscribe Management**: Honor unsubscribe requests promptly
* **Data Synchronization**: Keep PureClarity updated with preference changes
#### Monitor Performance Metrics
* **Track Bounce Rates**: Monitor and address high bounce rates immediately
* **Watch Complaint Rates**: Keep complaint rates well below 0.1%
* **Regular Audits**: Conduct periodic reviews of email performance
* **Responsive Action**: Take immediate action on deliverability issues
#### Legal Compliance
* **CAN-SPAM Compliance**: Ensure all emails follow CAN-SPAM requirements
* **GDPR Compliance**: Respect data protection regulations
* **Local Laws**: Follow applicable local and international email regulations
* **Industry Standards**: Adhere to email marketing industry best practices
## Enforcement
### Violation Consequences
Violations of this policy may result in:
* **Warning notifications**
* **Temporary service suspension**
* **Permanent account termination**
* **Legal action** if applicable
### Reporting Violations
If you become aware of any violations of this policy, please report them to [support@pureclarity.com](mailto:support@pureclarity.com).
## Policy Updates
This policy may be updated from time to time. Users will be notified of significant changes through:
* **Email notifications** to account administrators
* **Updates** posted in the PureClarity Support Center
* **In-app notifications** when logging into the system
Regularly review this policy to ensure your email practices remain compliant with current requirements.
## Support and Guidance
If you have questions about this policy or need guidance on compliance:
* **Email**: [support@pureclarity.com](mailto:support@pureclarity.com)
* **Documentation**: Review our email marketing best practices guides
* **Consultation**: Request compliance consultation for complex scenarios
***
Thank you for taking the time to read our Acceptable Use Policy.
*Version 1.1 – 21st April 2018*
# PureClarity Email Disclaimer
Source: https://docs.pureclarity.com/support/email/disclaimer
Official email disclaimer and legal information for PureClarity Technologies Limited communications and email security considerations
## Email Communication Disclaimer
Our messages contain confidential information and are intended for the above named only. You are receiving this email as we feel that the services offered by PureClarity are of legitimate interest to you.
### Unsubscribe Information
If you would like to be removed from any future emails, please reply with "Unsubscribe".
### Confidentiality Notice
If you are not the intended recipient you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.
## Liability and Content Disclaimer
### Company Liability
PureClarity Technologies Limited ("The Company") accepts no liability for the content of this e-mail, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing.
### Views and Opinions
Any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of the Company.
## Email Security and Transmission
### Security Limitations
E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete.
### Company Position on Email Risks
The Company therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission.
### Verification Requirements
If verification is required please request a hard-copy version.
## Important Considerations
### For Recipients
When receiving emails from PureClarity:
1. **Verify Important Information**: For critical business decisions, request written confirmation
2. **Report Issues**: If you receive emails in error, please notify us immediately
3. **Security Awareness**: Be aware that email is not a completely secure communication method
4. **Action Items**: Confirm important requests through alternative communication channels
### For Business Communications
* **Written Confirmation**: Important agreements should be confirmed in writing
* **Document Retention**: Keep records of important email communications
* **Security Measures**: Use secure communication channels for sensitive information
* **Verification Process**: Verify the authenticity of unexpected requests
## Contact Information
If you have questions about this disclaimer or need to verify the authenticity of an email communication:
* **Email**: [support@pureclarity.com](mailto:support@pureclarity.com)
* **Request Verification**: Contact us directly for confirmation of important communications
* **Report Issues**: Notify us of any suspected fraudulent emails
## Legal Framework
This disclaimer is designed to:
* **Protect Confidentiality**: Maintain the confidential nature of business communications
* **Limit Liability**: Clarify the limitations of email as a communication medium
* **Ensure Compliance**: Meet legal requirements for business email communications
* **Protect Recipients**: Inform recipients of their responsibilities and rights
Always verify important business communications through multiple channels to ensure accuracy and authenticity.
***
This disclaimer applies to all email communications from PureClarity Technologies Limited and its representatives.
# Email Marketing Overview
Source: https://docs.pureclarity.com/support/email/overview
Complete guide to PureClarity's personalized email marketing features, including campaign creation, recommender integration, and email service provider setup
## What are PureClarity Emails?
PureClarity allows you to send personalized emails to your visitors. PureClarity generates a snippet of code which you can paste into your email service provider, which will then be personalized to each visitor, taking into account their likes, dislikes and browsing history.
Personalized emails typically see significantly higher engagement rates compared to generic email campaigns, as they show content specifically relevant to each recipient's interests and behavior.
## How to Create an Email Campaign
To create an email campaign, all you need to do is go into your Email section on the PureClarity admin. Select "Create new campaign" and give it a name. Select your email service provider – this is to ensure the recipient address is correct.
### Campaign Configuration Steps
1. **Name Your Campaign**: Choose a descriptive name for easy identification
2. **Select Email Service Provider**: Ensure compatibility with your current email platform
3. **Choose Target Audience**: Define which customers will receive the campaign
### Adding Recommenders
Then, choose which recommenders you'd like to appear – up to three.
You can edit the look and feel of the recommenders using the style editor. Go ahead and click "preview" to check out what they'll look like.
Using multiple recommenders in a single email (up to 3) allows you to show different types of personalized content, such as "Recently viewed items," "Recommended for you," and "Best sellers."
### Publishing and Implementation
Once they're looking the way you want them to, you can publish the snippet which will generate the code for you. Copy and paste that into your email service provider, and you're good to go!
## Email Personalization Features
### Dynamic Product Recommendations
* **Recently Viewed**: Show products the customer recently browsed
* **Recommended for You**: AI-powered recommendations based on behavior
* **Frequently Bought Together**: Cross-sell related products
* **Best Sellers**: Popular products in relevant categories
### Behavioral Targeting
* **Purchase History**: Recommend based on previous purchases
* **Browsing Behavior**: Target based on pages visited and time spent
* **Cart Abandonment**: Re-engage customers who left items in their cart
* **Category Preferences**: Show products from preferred categories
### Advanced Personalization
* **Dynamic Content**: Content changes based on customer segment
* **Real-time Updates**: Recommendations update based on latest behavior
* **Multi-currency Support**: Show prices in customer's preferred currency
* **Responsive Design**: Optimized for all email clients and devices
## Email Service Provider Integration
### Supported Platforms
PureClarity integrates with major email service providers including:
* **Mailchimp**
* **Klaviyo**
* **Campaign Monitor**
* **Constant Contact**
* **Custom ESP integration** available
### Implementation Process
1. **Generate Code Snippet**: Create personalized email content in PureClarity
2. **Copy Generated Code**: Get the HTML snippet from PureClarity
3. **Paste into ESP**: Add the code to your email template
4. **Test and Send**: Preview and distribute your personalized campaign
## Best Practices
### Campaign Optimization
* **A/B Test Recommenders**: Try different recommendation types to see what works best
* **Segment Your Audience**: Use customer segments for more targeted campaigns
* **Monitor Performance**: Track engagement rates and adjust accordingly
* **Optimize Send Times**: Test different sending schedules for maximum impact
### Content Strategy
* **Mix Recommendation Types**: Combine different recommender types for variety
* **Update Regularly**: Keep email templates fresh with new designs
* **Mobile Optimization**: Ensure emails look great on all devices
* **Clear Call-to-Actions**: Make it easy for customers to click through to products
## Performance Tracking
PureClarity provides comprehensive analytics for email campaigns:
* **Open Rates**: Track how many recipients open your emails
* **Click-through Rates**: Monitor engagement with recommended products
* **Conversion Rates**: Measure sales generated from email campaigns
* **Revenue Attribution**: See the direct revenue impact of personalized emails
Email analytics integrate with your overall PureClarity analytics dashboard, providing a complete view of how email campaigns contribute to your personalization strategy.
## Next Steps
Once you've set up your email campaigns, explore our [Analytics Overview](/features/analytics/overview) to understand how to measure and optimize your email marketing performance.
Start with simple product recommendation emails, then gradually add more sophisticated personalization as you become familiar with the platform and see results from your initial campaigns.
# Audiences
Source: https://docs.pureclarity.com/support/general/audiences
Understanding automatically created segments through campaign attribution settings for advanced personalization
Audiences are automatically created segments in PureClarity that enable sophisticated user targeting and personalization based on customer interactions with your campaigns.
## What Are Audiences
An Audience is a segment that PureClarity automatically creates when customers interact with campaign content that has attribution settings configured.
### Audience Creation Process
**Automatic generation occurs when:**
1. **Campaign created** with attribution settings enabled
2. **Customer interaction** with campaign content (click, view, etc.)
3. **Audience addition** configured in attribution settings
4. **Automatic segment** created and populated
### Audience vs. Manual Segments
**Audiences (Automatic)**
* Created through campaign attribution
* Populated automatically based on interactions
* Dynamic membership based on behavior
* No manual configuration required
**Manual Segments**
* Created manually with specific rules
* Static or rule-based membership
* Requires explicit configuration
* More control over criteria
## Campaign Attribution Settings
### Configuring Audience Addition
When creating or editing a campaign:
1. Navigate to campaign attribution settings
2. Enable "Add user to audience" option
3. Specify audience name or criteria
4. Configure interaction triggers
Use descriptive audience names to easily identify and manage them later in your segments list.
### Interaction Triggers
**Common interaction types:**
* **Click events** - User clicks on campaign content
* **View events** - User views campaign for specified duration
* **Conversion events** - User completes desired action
* **Engagement events** - User interacts with specific elements
## Using Audiences for Personalization
### Content Personalization
Audiences can be used to show personalized content, and popups, enabling complex user experiences to be created quickly.
**Personalization applications:**
* **Targeted campaigns** for specific audience members
* **Personalized recommendations** based on previous interactions
* **Custom messaging** tailored to audience characteristics
* **Progressive experiences** that build on previous engagements
### Advanced User Experiences
**Sequential campaign strategies:**
1. **Initial campaign** adds users to audience
2. **Follow-up campaigns** target audience members
3. **Progressive disclosure** of content or offers
4. **Behavioral triggers** for next-level personalization
### Multi-Channel Targeting
**Audience utilization across:**
* **Website campaigns** for returning audience members
* **Popup targeting** for specific audience segments
* **Email integration** (future functionality)
## Audience Management
### Viewing Audiences
**Location:** Segments list in PureClarity admin
**Audience display:**
* Listed alongside manual segments
* Clear identification as auto-created
* Membership count and activity
* Creation date and source campaign
### Audience Analytics
**Available insights:**
* Audience size and growth
* Interaction patterns and behavior
* Conversion rates for audience members
* Engagement metrics across campaigns
Audiences are automatically managed - manual modification of audience membership is not currently supported.
## Future Functionality
### Planned Enhancements
**Import Capabilities**
* Import existing users into audiences
* Bulk audience population from external sources
* Historical data integration
**Export Features**
* Export email addresses of audience members
* Customer data extraction for external use
* Integration with email marketing platforms
Future updates will provide enhanced audience management capabilities including import/export functionality for greater flexibility.
### Integration Possibilities
**Anticipated integrations:**
* **Email marketing platforms** for direct campaign targeting
* **CRM systems** for sales team follow-up
* **Analytics platforms** for deeper behavioral analysis
* **Customer service tools** for personalized support
## Best Practices
### Audience Strategy
**Effective audience creation:**
1. **Clear objectives** - Define what each audience represents
2. **Meaningful names** - Use descriptive audience naming conventions
3. **Strategic triggers** - Choose appropriate interaction points
4. **Progressive building** - Layer audiences for sophisticated targeting
### Campaign Planning
**Sequential campaign design:**
* **Entry campaigns** to populate initial audiences
* **Nurturing campaigns** for audience development
* **Conversion campaigns** for audience-specific offers
* **Retention campaigns** for continued engagement
### Performance Monitoring
Regularly review audience performance to optimize campaign attribution settings and improve targeting effectiveness.
**Key metrics to track:**
* Audience growth rates
* Conversion performance by audience
* Engagement levels across audience segments
* Campaign effectiveness for different audiences
## Related Features
* [Segments Overview](/features/segments/overview)
* [Creating Segments](/features/segments/creating-segment)
* [Campaign Attribution](/features/campaigns/attribution-clicks)
* [Campaign Settings](/features/campaigns/preview-settings)
# Dashboard Overview
Source: https://docs.pureclarity.com/support/general/dashboard-overview
Complete guide to understanding and utilizing the PureClarity dashboard for analytics, campaign performance, and onboarding
The PureClarity Dashboard serves as your central command center, providing essential analytics, campaign performance metrics, and helpful guidance to maximize your personalization success.
The Dashboard is the first page you'll see when logging into PureClarity, offering a comprehensive overview of your site's performance and PureClarity impact.
## Dashboard Layout
### Primary Analytics Section
The top section displays crucial site-wide analytics with customizable date ranges.
**Core metrics displayed:**
* **Page Impressions** - Total page views across your site
* **Visits** - Unique visitor sessions
* **Orders** - Total transactions completed
* **Sales Revenue** - Total revenue generated
* **Click Total** - Revenue attributed to PureClarity content
* **Conversion Rate** - Percentage of visits resulting in orders
Use the date range selector above the analytics to view performance for specific periods and identify trends.
### Key Performance Indicator
**Click Total - Most Important Metric**
Click Total represents the overall revenue generated directly through PureClarity content interactions on your site.
**Click Total measures:**
* Revenue from PureClarity recommender clicks
* Campaign content interactions leading to purchases
* Direct attribution of PureClarity to business results
* ROI demonstration for personalization investment
### Date Range Controls
**Available time periods:**
* Today
* Yesterday
* Last 7 days
* Last 30 days
* Custom date ranges
* Period comparisons for trend analysis
Ensure you're comparing like-for-like periods when analyzing performance trends and making strategic decisions.
## Campaign Analytics Section
### Campaign Performance Breakdown
Below the main site analytics, detailed campaign performance data provides insights into individual campaign effectiveness.
**Campaign metrics include:**
#### Engagement Metrics
**Click Rate**
* Percentage of impressions resulting in clicks
* Indicates content relevance and appeal
* Higher rates suggest better targeting
**Impressions**
* Percentage of times campaigns were actually visible
* Hover for raw figures and detailed breakdown
* Validates campaign reach and visibility
#### Revenue Metrics
**Click Total**
* Revenue generated by specific campaign
* Direct campaign ROI measurement
* Attribution to individual campaign performance
**Orders**
* Number of transactions influenced by campaign
* Campaign impact on purchase behavior
* Volume measurement for campaign success
**Order Totals**
* Total value of orders influenced by campaign
* Average order value impact assessment
* Revenue scale measurement
#### Conversion Metrics
**Conversion Rate**
* Percentage of campaign interactions leading to purchases
* Campaign effectiveness measurement
* Optimization opportunity identification
Use campaign analytics to identify your best-performing campaigns and replicate successful strategies across other initiatives.
## Onboarding Section
### Personalized Onboarding Process
PureClarity provides dedicated onboarding support to ensure successful implementation and optimal results.
**Onboarding components:**
* **Success definition** - Understanding your specific goals
* **Creative implementation** - Translating ideas into PureClarity features
* **Best practice guidance** - Industry-specific recommendations
* **Technical support** - Implementation assistance
**Onboarding benefits:**
* Faster time to value
* Optimized configuration from start
* Reduced implementation errors
* Enhanced feature adoption
Take advantage of personalized onboarding to ensure you're maximizing PureClarity's potential for your specific business needs.
## User Experience Wizards
### Step-by-Step Guidance
The left sidebar provides access to various user experience wizards and discovery tools.
**Available wizards:**
#### Installation Wizards
* **Step-by-step setup** guides for complete installation
* **Feature configuration** assistance
* **Integration validation** checks
* **Best practice implementation** guidance
#### Campaign Setup Guides
* **Audience segment** campaign creation
* **Specific use case** implementations
* **Advanced feature** utilization
* **Optimization strategies** application
### Discovery and Functionality
**Additional resources:**
* **Feature exploration** guides
* **Advanced configuration** options
* **Optimization recommendations** based on your data
* **Success story** examples and case studies
Use the wizards and guides to systematically implement PureClarity features and ensure you're not missing valuable opportunities.
## Best Practices for Dashboard Usage
### Regular Monitoring
**Daily checks:**
* Review Click Total trends
* Monitor campaign performance
* Check conversion rate changes
* Identify any performance anomalies
**Weekly analysis:**
* Compare week-over-week performance
* Analyze campaign effectiveness
* Review onboarding progress
* Plan upcoming optimizations
### Performance Optimization
**Optimization strategies:**
1. **Identify top performers** - Scale successful campaigns
2. **Address underperformers** - Optimize or pause weak campaigns
3. **Test variations** - A/B test different approaches
4. **Monitor trends** - Spot seasonal patterns and opportunities
### Data-Driven Decisions
**Use dashboard data for:**
* **Campaign budget allocation** - Invest in high-performing campaigns
* **Content strategy** - Focus on engaging content types
* **Audience targeting** - Refine segments based on performance
* **Feature prioritization** - Implement features with highest impact
## Troubleshooting Common Issues
### Low Click Total
**Possible causes:**
* Insufficient campaign targeting
* Poor zone placement
* Content not resonating with audience
* Technical implementation issues
### Poor Conversion Rates
**Investigation areas:**
* Landing page quality
* Product availability
* Pricing competitiveness
* User experience issues
### Limited Impressions
**Common solutions:**
* Review zone visibility
* Check campaign scheduling
* Verify segment configurations
* Assess technical implementation
## Related Analytics Tools
* [Product Attribution](/support/general/product-attribution)
* [Analytics Overview](/features/analytics/overview)
* [Campaign Analytics](/features/campaigns/attribution-clicks)
* [Segment Insights](/features/segments/insights)
# Data Explorers Overview
Source: https://docs.pureclarity.com/support/general/data-explorers-overview
Comprehensive guide to PureClarity's data exploration tools for analyzing product performance, user behavior, and gaining insights for optimization
The data explorers allow you to take a deep dive into the data inside PureClarity and help you judge the performance of PureClarity, understand what your customers are doing and give you ideas about how to maximize the personalization experience.
## Available Explorers
There are 2 main explorers available in PureClarity:
### 1. Product Explorer
View a product's performance, popularity, related purchases & viewings and conversion rate.
**Key Features:**
* **Performance Metrics**: Track how individual products are performing
* **Popularity Analysis**: See which products are trending and engaging customers
* **Related Purchases**: Understand what products are bought together
* **Related Viewings**: Analyze which products are viewed in the same sessions
* **Conversion Rates**: Monitor how well products convert browsers into buyers
### 2. User Explorer
The User Explorer shows what is held about a user and also gives you privacy tools to comply with GDPR.
**Key Features:**
* **User Profiles**: View comprehensive customer data and behavior patterns
* **Privacy Compliance**: GDPR tools for data management and user rights
* **Behavior Analysis**: Understand individual customer journeys
* **Segmentation Insights**: See which segments users belong to
* **Data Management**: Tools for handling user data requests
For detailed information about the User Explorer, see our [User Explorer](/support/general/user-explorer) article.
## Product Explorer Deep Dive
### Performance Analytics
**Conversion Metrics:**
* View-to-purchase conversion rates
* Add-to-cart rates
* Revenue attribution
* Performance trends over time
**Popularity Indicators:**
* Page view counts
* Time spent on product pages
* Click-through rates from recommendations
* Search result rankings
### Relationship Analysis
**Product Affinity:**
* **Frequently Bought Together**: Products that are purchased in the same order
* **Frequently Viewed Together**: Products viewed in the same session
* **Cross-sell Opportunities**: Related products that drive additional sales
* **Upsell Potential**: Higher-value alternatives customers consider
### Strategic Insights
**Optimization Opportunities:**
* Identify underperforming products that need attention
* Discover high-potential products for promotion
* Find products that work well as recommendations
* Analyze seasonal performance patterns
Use Product Explorer insights to optimize your product positioning, pricing strategies, and recommendation campaigns.
## User Explorer Deep Dive
### Customer Profiles
**Behavioral Data:**
* Browsing history and patterns
* Purchase history and preferences
* Interaction with campaigns and recommendations
* Session duration and engagement metrics
**Segmentation Data:**
* Which segments the user belongs to
* Segment behavior patterns
* Personalization targeting criteria
* Campaign engagement history
### Privacy and Compliance
**GDPR Tools:**
* **Data Export**: Generate comprehensive user data reports
* **Data Deletion**: Remove user data upon request
* **Consent Management**: Track and manage user consent preferences
* **Access Rights**: Provide users with their stored data
**Privacy Features:**
* **Anonymization Options**: Remove personally identifiable information
* **Data Retention Controls**: Manage how long data is stored
* **Audit Trails**: Track data access and modifications
* **Compliance Reporting**: Generate reports for regulatory requirements
Always ensure you're following applicable privacy laws and regulations when using customer data for analysis and personalization.
## Using Data Explorers for Optimization
### Performance Analysis
**Regular Monitoring:**
* Weekly performance reviews of top products
* Monthly analysis of user behavior trends
* Seasonal pattern identification
* Campaign performance correlation
**Actionable Insights:**
* Identify products that need better positioning
* Find opportunities for new product recommendations
* Discover gaps in your personalization strategy
* Optimize user journey touchpoints
### Strategic Decision Making
**Product Strategy:**
* **Inventory Management**: Focus on high-performing products
* **Pricing Optimization**: Analyze conversion rates vs. price points
* **Category Performance**: Understand which categories drive engagement
* **New Product Launches**: Learn from successful product patterns
**Customer Strategy:**
* **Segmentation Refinement**: Create more targeted customer groups
* **Personalization Enhancement**: Improve recommendation accuracy
* **Campaign Optimization**: Target campaigns based on user insights
* **Retention Strategies**: Identify and address churn risk factors
## Best Practices
### Regular Analysis
**Frequency Recommendations:**
* **Daily**: Monitor key performance indicators
* **Weekly**: Review product performance trends
* **Monthly**: Conduct comprehensive user behavior analysis
* **Quarterly**: Strategic review and optimization planning
### Data-Driven Decisions
**Analysis Framework:**
1. **Identify Patterns**: Look for trends and anomalies in the data
2. **Form Hypotheses**: Develop theories about what the data means
3. **Test Assumptions**: Use A/B testing to validate insights
4. **Implement Changes**: Apply learnings to optimization strategies
5. **Measure Results**: Track the impact of your changes
Combine insights from both Product and User Explorers to get a complete picture of your ecommerce performance and optimization opportunities.
## Integration with Other Features
### Campaign Enhancement
Use explorer insights to:
* **Target Campaigns**: Create more effective customer segments
* **Product Selection**: Choose products with proven performance
* **Timing Optimization**: Launch campaigns when engagement is highest
* **Performance Prediction**: Estimate campaign success based on historical data
### Analytics Correlation
Connect explorer data with:
* **Overall Analytics**: See how individual insights fit into broader trends
* **Revenue Attribution**: Understand how product performance impacts revenue
* **Customer Lifetime Value**: Analyze long-term customer behavior patterns
* **ROI Measurement**: Calculate return on personalization investments
## Getting Started
To maximize the value of Data Explorers:
1. **Start with Product Explorer**: Identify your top and bottom performing products
2. **Analyze User Patterns**: Use User Explorer to understand customer behavior
3. **Look for Correlations**: Find relationships between product and user data
4. **Create Action Plans**: Develop strategies based on your findings
5. **Monitor Changes**: Track the impact of your optimization efforts
Data Explorers are powerful tools for understanding your business, but they're most effective when used as part of a comprehensive analytics and optimization strategy.
# PureClarity Debug Toolbar
Source: https://docs.pureclarity.com/support/general/debug-toolbar
Complete guide to using the PureClarity Debug Toolbar for testing, previewing, and debugging campaigns, zones, and events
The PureClarity Debug Toolbar is an essential development tool that enables you to preview, test, and debug PureClarity implementations directly on your website.
## Toolbar Capabilities
### Core Functions
**Zone Management:**
* View all zones present on current page
* Check zone rendering status and results
* Locate zones visually on the page
**Content Preview:**
* Preview campaigns (including inactive/unpublished)
* Test popups before going live
**Development Debugging:**
* Monitor events sent to PureClarity
* Debug tracking implementations
* Validate custom integrations
The debug toolbar is particularly valuable for custom implementations and development work.
## Getting Started
### Enabling the Debug Toolbar
Add the debug parameter to your store URL:
```
https://www.your-store.com?pc_debug=true
```
**Steps:**
1. Navigate to your store in a browser
2. Add `?pc_debug=true` to the end of the URL
3. Press Enter to reload the page
4. Debug toolbar appears in top-left corner
If your URL already has query parameters, use `&pc_debug=true` instead.
### Disabling the Debug Toolbar
**To close the toolbar:**
1. Click the **X** at the top of the menu
2. This stops debug mode completely
3. Page returns to normal operation
### Toolbar Interface
#### Default Display
* Appears as minimized icon in top-left corner
* Stays out of the way until needed
* Click to expand full interface
#### Positioning and Movement
**Toolbar is fully draggable:**
* Click and drag the blue border at the top
* Drag using the PureClarity logo
* Reposition anywhere on screen for convenience
**Panel management:**
* Close main panel to show menu only
* Minimize to return to icon state
* Expand/collapse as needed during testing
## Authentication
### Logging In
To access full toolbar functionality, log in using your PureClarity admin credentials.
**Login process:**
1. Enter same credentials used for admin panel
2. Page refreshes after successful login
3. Full preview capabilities become available
4. Access to campaigns and popups
## Toolbar Panels
### Overview Panel
**Key information displayed:**
**Access Key**
* Your PureClarity store identifier
* Useful for verifying correct account connection
**Page Type**
* Page type sent to PureClarity in page\_view events
* Shows "No page type provided" if missing
* Critical for proper zone rendering
**PureClarity User ID**
* Unique identifier for current user
* Changes when users log in/out
* Useful for debugging user-specific issues
**PureClarity Session ID**
* Unique session identifier
* Different on each visit
* Helps track session-based behavior
User and Session IDs are essential for debugging personalization and tracking issues.
### Zones Overview
**Zone status display:**
* Lists all zones present on current page
* Shows whether results were found for each zone
* Quick validation of zone implementation
**Zone management:**
* Identify missing or broken zones
* Verify zone placement and configuration
* Check zone-to-content mapping
### Zones - Campaigns
**Campaign preview capabilities:**
Preview any campaign configured for a zone, including inactive and unpublished campaigns.
**Features:**
* **Active campaign display** - See currently running campaigns
* **Campaign switching** - Preview different campaigns for testing
* **Segment override** - Ignore segment conditions for testing
* **Real-time reload** - Refresh campaigns after admin changes
* **Zone location** - Find zone placement on page
**Testing workflow:**
1. Select zone to test
2. Choose campaign to preview
3. Verify display and functionality
4. Make adjustments in admin if needed
5. Reload to see changes
### Zones - Popups
**Popup testing features:**
**Preview options:**
* Test inactive or unpublished popups
* Override segment conditions for testing
* Verify popup design and functionality
* Check timing and trigger conditions
Perfect for testing popups targeting hard-to-replicate segments before making them live.
### Events Overview
**Event monitoring and debugging:**
Displays all events that the clientscript has received on the current page.
**Event types tracked:**
* **Tracking events** sent to PureClarity
* **Manual zone** retrieval calls
* **Currency change** events
* **Preview** function calls
**Data handling:**
* Full event data display
* Large data sets show copy button
* Click to copy complete event data
* Paste into text editor for detailed analysis
Event monitoring is especially valuable for custom platform implementations and custom tracking setups.
## Best Practices
### Development Workflow
1. **Enable toolbar** during development and testing phases
2. **Test all zones** to ensure proper implementation
3. **Preview campaigns** before publishing
4. **Validate events** for custom implementations
5. **Disable toolbar** before production deployment
### Testing Strategy
**Systematic testing:**
* Test each zone individually
* Verify all campaign types
* Check popup functionality
* Monitor event tracking accuracy
**Segment testing:**
* Use segment override to test targeted content
* Verify segment conditions work correctly
* Test edge cases and boundary conditions
### Troubleshooting
**Common debugging tasks:**
* Verify correct access keys
* Check page type implementation
* Validate zone placement
* Debug event tracking issues
* Test cross-device functionality
## Related Tools
* [Development Usage](/support/general/development-usage)
* [Platform Settings](/support/general/settings)
* [Zone Configuration](/features/zones/overview)
* [Campaign Testing](/features/campaigns/preview-settings)
# Using PureClarity During Development
Source: https://docs.pureclarity.com/support/general/development-usage
Best practices for implementing PureClarity in development, staging, and testing environments across all platforms
PureClarity supports various development workflows by providing dedicated environments for testing and development, ensuring your live environment remains clean and production-ready.
Development environments come with usage restrictions and fair use policies - sufficient for testing but limited to prevent production abuse.
## Development Environment Benefits
### Isolated Testing
**Environment separation provides:**
* **Clean live environment** - No test products, orders, or activity
* **Safe development space** - Test features without affecting production
* **Realistic testing** - Full PureClarity functionality in staging
* **Data integrity** - Separate analytics and customer data
### Fair Use Policy
Development stores are restricted to testing purposes only. Using them for production traffic violates terms of service and may result in access blocking.
**Allowed activities:**
* Feature testing and integration validation
* User acceptance testing (UAT)
* Performance testing with limited traffic
* Development team training
**Prohibited activities:**
* Production customer traffic
* High-volume load testing
* Revenue-generating activities
* Long-term production use
### Environment Identification
A banner at the top of PureClarity admin indicates when you're working in a staging or test environment.
## Platform-Specific Implementation
### Shopify Development
**Automatic development recognition:**
* Stores with plan name "affiliate" skip plan selection
* Stores with plan name "partner\_test" get automatic setup
* No billing requirements for development stores
#### Agency Workflow Recommendations
For agencies developing client stores: reinstall PureClarity when transferring ownership to ensure the client can use PureClarity in production.
**Transfer process:**
1. Complete development and testing with affiliate/partner\_test store
2. Prepare for client handover
3. Reinstall PureClarity on client's production account
4. Configure production settings and preferences
5. Transfer any custom configurations or campaigns
### Traditional Platform Setup
**Platforms:** Shopify, BigCommerce, Magento, WooCommerce, Custom
#### Dual Environment Strategy
**Recommended approach:**
1. **Staging signup** - Create account on development/staging site
2. **Production signup** - Create separate account on live site
3. **Separate access keys** - Maintain distinct API credentials
4. **Independent configuration** - Configure each environment separately
Never use production access keys in staging environments - this can cause staging products to appear in live recommendations.
### Access Key Management
**Best practices:**
* **Environment-specific keys** - Use dedicated keys per environment
* **Secure storage** - Store keys securely in environment variables
* **Regular rotation** - Update keys when transitioning to production
* **Documentation** - Maintain clear records of which keys belong to which environment
## Development Workflow Integration
### Testing Phases
#### Stage 1: Initial Development
* Set up staging PureClarity account
* Configure basic integration
* Test core functionality
* Validate data feeds and API connections
#### Stage 2: Feature Testing
* Test recommendation engines
* Validate campaign functionality
* Check personalization features
* Verify analytics tracking
#### Stage 3: User Acceptance Testing
* Conduct UAT with limited test users
* Validate user experience flows
* Test GDPR compliance features
* Verify mobile responsiveness
#### Stage 4: Production Preparation
* Set up production PureClarity account
* Configure production access keys
* Transfer tested configurations
* Plan go-live strategy
### Configuration Transfer
Document all staging configurations to streamline production setup and ensure consistency.
**Transfer checklist:**
* Campaign settings and templates
* Segment definitions and rules
* Zone placements and configurations
* Custom template designs
* Analytics and tracking setup
## Best Practices
### Environment Management
1. **Clear naming** - Use distinct names for staging/production accounts
2. **Regular cleanup** - Remove test data periodically
3. **Documentation** - Maintain environment setup guides
4. **Access control** - Limit staging access to development team
### Development Security
**Security considerations:**
* Never expose staging credentials in production code
* Use environment-specific configuration files
* Implement proper secret management
* Regular security audits of development environments
### Performance Testing
**Testing guidelines:**
* Use realistic but limited data volumes
* Test with representative user journeys
* Validate caching and performance optimizations
* Monitor resource usage during testing
For comprehensive load testing, coordinate with PureClarity support to ensure appropriate environment provisioning.
## Troubleshooting Common Issues
### Cross-Environment Contamination
**Problem:** Production data appearing in staging
**Solution:** Verify access keys are environment-specific
### Development Account Limitations
**Problem:** Features not working in development
**Solution:** Check fair use policy compliance and environment restrictions
### Transfer Issues
**Problem:** Configurations not working after production deployment
**Solution:** Verify all settings transferred correctly and access keys updated
## Related Documentation
* [Platform Settings](/support/general/settings)
* [Environment Credentials](/integrations/magento/magento-2/environment-credentials)
* [Debug Toolbar](/support/general/debug-toolbar)
* [Support Policy](/support/general/support-policy)
# How Does the AI Work?
Source: https://docs.pureclarity.com/support/general/how-ai-works
Deep dive into PureClarity's artificial intelligence engine, machine learning algorithms, and how AI delivers personalized shopping experiences
PureClarity is built on AI (Artificial Intelligence) and Big Data technology. It collects data about every one of your visitors, tracking their interactions with you onsite and offsite to build up a picture of their behaviour, their dislikes, likes, interests and habits.
## Data Collection and Analysis
This information is then used to present relevant and personalized results. PureClarity analyzes this data to see if there are any hidden Segments based behaviors you should be exploiting, e.g. "Camera Lovers." You have the ability to drill down into this data; you can time slice and segment the information to get a deeper understanding of your visitors' behavior and the performance of your site.
### Real-Time Adaptation
As visitors arrive on your site, PureClarity will change the recommended products and strategies based on their behavior during that very visit. PureClarity will show recommendations that worked on other visitors to maximize the chances of them seeing relevant results and buying on that visit.
The AI engine adapts recommendations in real-time, learning from each interaction to improve future suggestions within the same session.
## Algorithm Optimization
PureClarity optimizes the recommendation algorithm based on how much data is available.
### Content-Based Filtering (Low Data Scenarios)
For sites without much data, PureClarity makes the most of the sparse data by implementing a content-based filtering recommendation system, which has really incredible results for some of our clients already.
**How it works:**
* Analyzes product attributes and characteristics
* Matches products with similar features to user preferences
* Effective even with limited user interaction data
### Collaborative Filtering (Rich Data Scenarios)
With more data, PureClarity uses a collaborative filtering algorithm, which means that the large amounts of data are analyzed to find the optimal cross-sells and upsells based on what your customers are looking at and buying right now.
**How it works:**
* Analyzes behavior patterns across similar users
* Identifies products frequently viewed or purchased together
* Leverages the "wisdom of the crowd" for recommendations
The AI automatically switches between algorithms based on data availability, ensuring optimal performance regardless of your site's data maturity.
## Smart Duplication Prevention
The AI will never show two of the same strategies on the same page, and will work to minimize product duplication on the same page. Visitors can enjoy relevant, specific product recommendations without seeing any of the same content, guaranteed to increase your average order value and conversion rate.
### Intelligent Strategy Selection
* **No duplicate strategies**: Each recommendation zone uses a different approach
* **Minimal product overlap**: Products aren't repeated across the same page
* **Contextual relevance**: Recommendations match the page context and user intent
## Continuous A/B Testing
PureClarity's AI engine does A/B testing in the background, testing which strategy works best.
### Automatic Optimization
* **Cross-sell preference**: If your customers respond best to cross-sells, PureClarity will favor those algorithms
* **Popularity-based**: If they prefer strategies which show more of the products that are popular on your site in real-time, PureClarity leans more towards that
* **Page-specific optimization**: Every recommender is optimized to be right for the customer, the page it's on, and the overall trends on the site
The AI continuously tests and optimizes recommendation strategies without any manual intervention required from you.
## Advanced AI Techniques
### Deep Pattern Mining
The engine also uses deep pattern mining AI techniques to:
* **Find hidden Segments**: Discover customer groups you didn't know existed
* **Predictive behavior**: Anticipate what customers are likely to do next
* **Present relevant results**: Show the most appropriate content to individuals
### Machine Learning Models
**Behavioral Analysis:**
* Purchase pattern recognition
* Browsing behavior analysis
* Seasonal trend detection
* Product affinity mapping
**Predictive Analytics:**
* Likelihood to purchase predictions
* Churn risk assessment
* Cross-sell opportunity identification
* Optimal timing for promotions
## AI + Manual Enrichment
The AI can be combined with enriched personalization to enhance the user's experience; creating [Segments](/features/segments/overview) to present promotions and products, categories and brands to specifically targeted users based on their behavior.
### Hybrid Approach Benefits
**AI Foundation:**
* Handles day-to-day optimization automatically
* Learns and adapts continuously
* Provides consistent baseline performance
**Manual Enhancement:**
* Strategic promotions for specific business goals
* Seasonal campaign overlays
* Brand awareness initiatives
* Inventory management support
Use the AI as your foundation for consistent performance, then layer on manual campaigns for specific business objectives like promoting new products or clearing seasonal inventory.
## Performance Outcomes
In short, what this all means is that your visitors are going to experience a completely personalized and optimized recommendation strategy that changes in real time as PureClarity collects more information about them, always optimized to maximize your conversion and average order value.
### Expected Improvements
* **Conversion Rate**: Higher percentage of visitors making purchases
* **Average Order Value**: Increased basket sizes through smart recommendations
* **Customer Engagement**: Longer time on site and more page views
* **Revenue Growth**: Overall increase in sales and profitability
## Technical Implementation
The AI operates transparently in the background:
* **No performance impact**: Recommendations load quickly without slowing your site
* **Scalable architecture**: Handles high traffic volumes efficiently
* **Real-time processing**: Instant adaptation to new visitor behavior
* **Data security**: All processing follows strict privacy and security protocols
## Next Steps
Understanding how the AI works helps you make better decisions about:
* Where to place [Zones](/features/zones/overview) for maximum impact
* When to create manual [Campaigns](/features/campaigns/overview)
* How to interpret [Analytics](/features/analytics/overview) data
* Which [Segments](/features/segments/overview) to create for enhanced targeting
The AI is designed to work autonomously, but understanding its capabilities helps you leverage its full potential for your business goals.
# Platform Integrations
Source: https://docs.pureclarity.com/support/general/integrations
Overview of third-party platform integrations available with PureClarity, including product ratings and review systems
PureClarity integrates with various third-party platforms to enhance your ecommerce functionality, particularly for product ratings and customer reviews.
Enable integrations by navigating to **Settings > Integrations** in your PureClarity admin panel.
## Product Ratings Integration
### Overview
PureClarity integrates with leading product review and rating platforms to display customer ratings directly on product recommendations.
**Benefits of product ratings:**
* **Enhanced customer confidence** - Social proof through ratings
* **Improved engagement** - Ratings drive interaction and clicks
* **Better conversion rates** - Customers make informed decisions
* **Trust building** - Transparent customer feedback display
### Enabling Product Ratings
**Setup process:**
1. Navigate to **Settings > Integrations**
2. Find "Product Ratings" section
3. Toggle "Use Product Ratings" to **ON**
4. Select your provider from the available list
5. Enter required configuration details
6. Save settings to activate integration
Product ratings appear automatically on PureClarity recommendations once the integration is configured and active.
### Supported Platforms
**Leading review platforms supported:**
* Popular review and rating services
* Platform-specific review systems
* Custom rating implementations
If your review platform isn't listed, contact PureClarity support - we'll work to add support where possible.
**Configuration requirements:**
* Some providers require API keys or account identifiers
* Specific settings vary by platform
* Contact support for assistance with complex setups
## Shopify-Specific Integrations
### Shopify Product Reviews Integration
**Option:** "Shopify Product Rating (Reviews Metafield)"
This integration leverages Shopify's [metafield system](https://help.shopify.com/en/manual/custom-data/metafields/metafield-definitions) to access product review data stored by various review apps.
**Compatible systems:**
* **Shopify Product Reviews** app (native)
* Review platforms that store data in metafields
* Custom review implementations using metafields
### Metafield Integration Benefits
**Automatic data sync:**
* Ratings pulled directly from Shopify metafields
* Real-time updates when reviews change
* No additional API configuration required
* Seamless integration with existing review workflow
**Supported metafield formats:**
* Standard rating values (1-5 stars)
* Review counts and averages
* Custom rating schemes supported by configuration
Ensure your review app stores data in accessible metafields for proper integration functionality.
## Implementation Best Practices
### Setup Verification
**Post-integration checks:**
1. **Test recommendations** - Verify ratings appear correctly
2. **Check data accuracy** - Compare ratings with source platform
3. **Monitor performance** - Track engagement improvements
4. **Validate updates** - Ensure ratings refresh appropriately
### Rating Display Optimization
**Best practices:**
* **Consistent formatting** across all recommendations
* **Clear visual design** that matches your brand
* **Appropriate size and placement** for optimal visibility
* **Mobile responsiveness** for all device types
### Performance Monitoring
Track the impact of product ratings on your recommendation performance through PureClarity analytics.
**Key metrics to monitor:**
* **Click-through rates** on rated vs. unrated products
* **Conversion improvements** from rating integration
* **Customer engagement** with rated recommendations
* **Overall recommendation performance** enhancement
## Troubleshooting Common Issues
### Ratings Not Displaying
**Common solutions:**
* Verify integration settings are saved correctly
* Check API credentials or configuration details
* Ensure source platform has rating data available
* Contact support for platform-specific troubleshooting
### Data Sync Issues
**Resolution steps:**
* Review metafield structure (Shopify)
* Verify API permissions and access
* Check for data format compatibility
* Monitor integration logs for errors
### Performance Impact
**Optimization strategies:**
* Monitor page load times after integration
* Verify caching is working correctly
* Check for API rate limit issues
* Optimize integration configuration for performance
## Getting Support
### Configuration Assistance
PureClarity support team can help with integration setup, troubleshooting, and custom platform requirements.
**Contact for help with:**
* Platform-specific configuration
* Custom integration requirements
* Troubleshooting integration issues
* Adding support for new platforms
### New Platform Requests
**Request process:**
1. Contact PureClarity support
2. Provide platform details and documentation
3. Share integration requirements and use cases
4. Work with team on implementation timeline
We actively work to expand our integration library based on customer needs and platform popularity.
## Future Integration Roadmap
### Planned Enhancements
**Upcoming features:**
* Additional review platform support
* Enhanced rating display options
* Advanced filtering by rating criteria
* Integration with more ecommerce platforms
### Custom Integration Options
**Enterprise capabilities:**
* Custom API integrations
* Bespoke rating system connections
* Advanced data mapping and transformation
* White-label integration solutions
## Related Documentation
* [Platform Settings](/support/general/settings)
* [Shopify Integration](/integrations/shopify/installation)
* [Product Analytics](/features/analytics/product-analytics)
* [Campaign Performance](/features/campaigns/attribution-clicks)
# Managing Admin Users
Source: https://docs.pureclarity.com/support/general/managing-admin-users
Complete guide to managing admin users, roles, and permissions in PureClarity for secure team access control
Account owners can manage admin users who access the PureClarity admin panel through comprehensive user and role management tools.
Access user management by navigating to **My Account > Users**. Only users with the Account Owner role can add, edit, or delete other users.
## Adding New Users
### User Creation Process
1. Click **Add User** to display the creation form
2. Enter required user information:
* Full name
* Email address
* Assigned roles (see [roles section](#roles) below)
3. Click **Ok** to create the user
New users receive a welcome email with a signup link to create their password and complete account setup.
### Welcome Email Process
When a new user is created:
1. **Welcome email** sent automatically to provided email address
2. **Signup link** included for password creation
3. **Account activation** completed by following email instructions
## Editing Existing Users
### User Management Table
Existing users are displayed in a table format on the user page, showing their current details and available actions.
### Editing User Details
Account Owners can modify:
* **Name** - Update user's display name
* **Email address** - Change login email
* **Roles** - Add or remove role assignments
**To edit a user:**
1. Click the **Edit** button (pen icon) next to the user
2. Modify the required fields in the form
3. Click **Ok** to save changes
## User Account Management
### Password Reset
Account Owners can send password reset emails to users who have forgotten their credentials.
**To reset a user's password:**
1. Click the **Send password reset** button (lock icon)
2. User receives email with reset instructions
3. Process equivalent to standard forgotten password flow
### User Deletion
**To delete a user:**
1. Click the **Delete user** button (rubbish bin icon)
2. Confirm the deletion action
User deletion cannot be undone. If future access is needed, the user must be added to the admin again.
## Roles and Permissions
Role-based access control allows you to restrict what users can see and do in the Admin, enabling precise control over team access.
### Available Roles
#### Account Owner
**Full administrative access:**
* Complete access to all admin areas
* Create, update, and delete admin users
* Assign roles to team members
* Manage account settings and billing
#### Admin
**Full operational access:**
* Access to all admin areas
* Cannot create, edit, or delete admin users
* Suitable for senior team members
* Complete feature and configuration access
#### Observer
**View-only access:**
* View all areas of the admin
* Cannot make changes or modifications
* Ideal for stakeholders and reporting roles
* Audit and monitoring capabilities
If you need additional roles that aren't currently available, please contact us with your requirements.
## Permission Error Handling
### Insufficient Permissions
When users attempt actions beyond their role permissions:
* **Error banner** displays insufficient permissions message
* **Action blocked** to maintain security
* **Contact admin** guidance provided for access requests
If team members encounter permission errors, review their role assignments and adjust as needed for their responsibilities.
## Best Practices
### Role Assignment Strategy
1. **Principle of least privilege** - Assign minimum required access
2. **Regular review** - Audit user roles periodically
3. **Clear responsibilities** - Match roles to job functions
4. **Documentation** - Keep records of role assignments
### User Management
**Security recommendations:**
* Remove access for departing team members immediately
* Use strong, unique passwords for all accounts
* Regular review of active users and their roles
* Monitor admin activity for unusual behavior
## Related Documentation
* [Support Policy](/support/general/support-policy)
* [User Explorer](/support/general/user-explorer)
* [Data Explorers Overview](/support/general/data-explorers-overview)
* [Security Disclosure Policy](/support/general/security-disclosure-policy)
# Understanding Product Attribution
Source: https://docs.pureclarity.com/support/general/product-attribution
Comprehensive guide to using PureClarity's Product Attribution analytics for measuring performance and revenue impact
PureClarity's Product Attribution analytics page provides detailed insights into how PureClarity performs on your site, measuring revenue impact and customer engagement with personalized content.
Access this report by clicking **Analytics** in the left menu, then selecting **Product Attribution** from the dropdown list.
## Overview Dashboard
### Time Period Controls
Use the time period buttons above the graphs to adjust the date range. Each graph shows current period data alongside previous period comparisons with change indicators.
### Key Performance Metrics
The dashboard displays four primary graphs tracking PureClarity's impact:
#### Click Total Revenue
**Measures:** Revenue generated from PureClarity content interactions
**Interaction types:**
* Product clicks on PureClarity recommenders
* Campaign content clicks attributed to products
* Subsequent purchases of clicked products
This metric provides the best indication of revenue directly generated by PureClarity personalization.
#### Click Total as % of Revenue
**Measures:** Click Total as percentage of overall site revenue
**Purpose:** Shows PureClarity's contribution to total business performance
#### Orders Involving PureClarity
**Measures:** Number of orders where customers interacted with PureClarity content
**Insight:** Customer engagement levels with personalization features
#### % of Orders Involving PureClarity
**Measures:** Percentage of all orders that included PureClarity interactions
**Value:** Overall penetration of personalization in customer journeys
## Comparative Analysis
### Average Order Value (AOV) Tracking
The system displays AOV statistics showing performance before and after PureClarity implementation.
**Before PureClarity baseline:**
* Based on imported historical orders
* Limited by available import timeframe
* May not fully reflect pre-PureClarity performance
**With PureClarity comparison:**
* AOV for orders involving recommender interactions
* AOV for orders without PureClarity engagement
* Clear performance differential visualization
### SKUs per Order Analysis
**Tracking includes:**
* Average number of products per order (historical)
* Current performance with recommender engagement
* Performance without recommender interaction
* Cross-selling effectiveness measurement
Compare AOV and SKU metrics to understand PureClarity's impact on both order value and basket size.
## Order-Level Analysis
### Detailed Order Information
Below the summary graphs, view comprehensive order details for all PureClarity-involved transactions:
**Order display format:**
* Order ID and date
* Customer information (when available)
* Revenue attribution details
* Campaign interaction data
### Individual Order Insights
Click any order to access detailed information:
**Campaign Details**
* Specific campaign customer interacted with
* Campaign performance metrics
* Attribution tracking data
**Product Information**
* Individual SKU details for clicked products
* Product performance analytics
* Cross-selling success rates
Selecting campaigns or products links to dedicated performance reports for deeper analysis.
## Customer Intelligence
### Customer Profile Analysis
For orders with customer identification:
**Customer Metrics:**
* Total visits and order history
* Last order date and frequency
* Average products per order
* Average order value
**Personalization Insights:**
* Personalized recommendations for the customer
* Engagement patterns and preferences
* Customer journey analysis
Customer profiles include GDPR-relevant information. Ensure proper handling of personal data according to privacy regulations.
### Customer Behavior Patterns
**Available analytics:**
* Purchase frequency trends
* Product category preferences
* Seasonal buying patterns
* Loyalty and retention indicators
## Data Export and Reporting
### CSV Export Functionality
Download comprehensive attribution data by clicking the **Download CSV** button on the main report page.
**Export includes:**
* Complete order attribution data
* Customer interaction details
* Revenue impact measurements
* Campaign performance metrics
### Report Usage
**Best practices for data analysis:**
1. **Regular monitoring** - Review weekly performance trends
2. **Comparative analysis** - Track period-over-period improvements
3. **Campaign optimization** - Use insights to refine strategies
4. **Customer segmentation** - Identify high-value interaction patterns
## Performance Optimization
### Key Insights for Improvement
**Revenue optimization:**
* Identify top-performing campaigns and replicate strategies
* Analyze underperforming content for optimization opportunities
* Track seasonal trends for campaign timing
**Customer engagement:**
* Monitor interaction rates across different content types
* Optimize recommender placement based on click data
* Refine targeting based on successful attribution patterns
Use attribution data to demonstrate PureClarity's ROI and guide strategic decisions for enhanced personalization performance.
## Related Analytics
* [Analytics Overview](/features/analytics/overview)
* [Product Analytics Usage](/features/analytics/product-analytics)
* [Campaign Attribution](/features/campaigns/attribution-clicks)
* [Dashboard Overview](/support/general/dashboard-overview)
# Security Disclosure Policy
Source: https://docs.pureclarity.com/support/general/security-disclosure-policy
Responsible security testing guidelines and disclosure process for reporting security issues to PureClarity
Found a security issue with PureClarity? We appreciate security researchers who help keep our platform secure. This policy outlines how to test responsibly and report security issues.
While we don't run a paid bug bounty program, we genuinely value researchers who help improve PureClarity's security.
## Legal Protection
### Our Commitment
When you follow this policy, PureClarity promises:
✅ **No legal action** against you for security research
✅ **Authorized research** under applicable laws (CFAA, DMCA, etc.)
✅ **Collaborative approach** - we work with you, not against you
✅ **Good faith** treatment throughout the process
This policy provides legal safe harbor for responsible security research conducted within the specified guidelines.
## Scope of Testing
### ✅ Approved Testing Targets
**You may test:**
* \**Any *.pureclarity.com domains** and subdomains
* **PureClarity APIs** and endpoints
* **Mobile applications** developed by PureClarity
* **JavaScript libraries** (on your own test accounts only)
### ❌ Prohibited Activities
**Please do not:**
* **Physical attacks** on offices or personnel
* **Access other customers' data** or accounts
* **Denial of service attacks** or service disruption
* **Test on customer websites** using PureClarity (only test on PureClarity infrastructure)
Testing outside these guidelines may result in legal action and is not covered by this disclosure policy.
## Responsible Testing Guidelines
### Setting Up for Testing
1. **Create a test account**
* Sign up for a free PureClarity account
* Clearly mark it as a test/research account
* Use only test data and scenarios
2. **Scope limitation**
* Test only on your own account data
* Don't attempt to access other users' information
* Focus on security vulnerabilities, not privacy violations
3. **Testing methodology**
* Use manual testing methods when possible
* Avoid automated tools that generate excessive traffic
* Stop immediately if you encounter other users' data
Quality over quantity - focus on meaningful security issues rather than running comprehensive automated scans.
## Reporting Security Issues
### Contact Information
**Email:** [support@pureclarity.com](mailto:support@pureclarity.com)
**Subject Line:** "Security Issue: \[Brief Description]"
### Required Information
**Include in your report:**
**Issue Details**
* Clear description of the vulnerability
* Potential impact and risk assessment
* Classification (if known): OWASP category, CVE, etc.
**Reproduction Steps**
* Step-by-step instructions to reproduce
* Screenshots or videos if helpful
* Specific URLs, parameters, or data involved
**Context and Impact**
* Why this issue matters
* Potential attack scenarios
* Affected systems or users
**Attribution**
* Your name (if you want public credit)
* Preferred contact method
* Any affiliation or organization
Clear, detailed reports help us understand and fix issues more quickly.
## Response Process
### Our Timeline
**Initial Response:** Within 5 business days
* Acknowledgment of receipt
* Initial assessment of the issue
* Confirmation of coverage under this policy
**Regular Updates:** Throughout the process
* Progress updates on investigation
* Timeline for potential fixes
* Any additional information needed
**Resolution Timeline:** Target 90 days
* We aim to resolve issues within 90 days
* Complex issues may require additional time
* We'll keep you informed of any delays
### Disclosure Timeline
We request 90 days before public disclosure, but we're flexible based on the severity and circumstances of the issue.
**Coordinated disclosure:**
* Work together on disclosure timeline
* Public credit if desired
* Coordinate any public announcements
## Recognition and Thanks
### How We Show Appreciation
While we can't offer cash rewards, we provide:
🏆 **Social Media Recognition**
* Shoutout from our founders on social platforms
* Recognition of your contribution to security
💼 **Professional Recognition**
* LinkedIn recommendation from our founders
* Professional reference for security work
📝 **Public Credit**
* Recognition in security advisories (if desired)
* Credit in our security acknowledgments
Every security report helps us build a better, more secure product for all our customers.
## Frequently Asked Questions
### What types of issues are you looking for?
**High-priority issues:**
* Authentication bypasses
* SQL injection or other injection attacks
* Cross-site scripting (XSS)
* Access control vulnerabilities
* Data exposure issues
### What if I'm not sure if something is a security issue?
**When in doubt, report it!** We'd rather investigate a non-issue than miss a real vulnerability.
### Can I test integrations with other platforms?
Only test PureClarity's components and infrastructure. Don't test third-party platforms or customer websites.
### How do I get help with testing?
Email [support@pureclarity.com](mailto:support@pureclarity.com) with questions about this policy or testing guidelines.
## Policy Updates
This policy may be updated periodically. Check back for the latest version before conducting security research.
**Last updated:** June 2025
## Contact Us
Questions about this policy? Just email [support@pureclarity.com](mailto:support@pureclarity.com) - we're friendly and happy to help!
Thanks for helping keep PureClarity secure! 🔒
## Related Security Information
* [Privacy Policy](/legal/privacy/privacy-policy)
* [Service Agreement](/legal/terms/service-agreement)
* [Backup & Recovery Policy](/legal/terms/backup-recovery-policy)
* [GDPR Overview](/legal/gdpr/overview)
# Platform Settings
Source: https://docs.pureclarity.com/support/general/settings
Comprehensive guide to configuring PureClarity platform settings for optimal performance and compliance
The settings page allows you to configure various aspects of your PureClarity implementation, from basic store information to privacy compliance and feature-specific options.
## Store Settings
Configure fundamental information about your store that PureClarity uses for analytics and personalization.
### Basic Configuration
**Timezone**
* Controls the timezone for your store location
* Used primarily for analytics reporting
* Determines start/end dates for campaigns and popups
**Currency**
* Specifies your store's default currency
* Displays throughout the admin interface
* Used as fallback when currency data is unavailable
Accurate timezone and currency settings ensure proper analytics reporting and campaign scheduling.
### Traffic Filtering
**IP Filter**
Exclude specific IP addresses to prevent artificial inflation of page views and analytics data.
**Common use cases:**
* External uptime monitoring tools
* Office traffic exclusion
* Testing and development traffic
* Bot and automated service traffic
Content is still returned for filtered IPs - only analytics tracking is prevented.
## Search Recommender Settings
Configure how PureClarity handles product recommendations on search result pages.
### Search Configuration
**Search URL**
* URL path for search results pages
* Usually uses platform defaults
* Customize for bespoke implementations
**Query String Parameter**
* Parameter appended to search URLs
* Platform-specific configuration
* Required for proper search integration
Only modify search settings if using custom search implementations or non-standard platform configurations.
## Notification Settings
Control automated email notifications for important system events.
### Feed Monitoring
**Feed Failure Notifications**
* Email alerts when product feeds fail to process
* Sent to account holder automatically
* Enables quick response to data sync issues
Since feeds control products, categories, and brands in PureClarity, prompt notification of failures helps maintain accurate recommendations.
## Customer Privacy Settings
Ensure compliance with privacy laws like GDPR and CCPA through proper tracking consent management.
### Cookie Consent Compliance
**Only track shoppers when cookie consent obtained**
When enabled, prevents PureClarity from using cookies until explicit consent is received from visitors.
**Behavior when enabled:**
* No cookie tracking until consent event received
* Personalization limited until consent granted
* Compliance with GDPR and CCPA requirements
**Behavior when disabled:**
* Always tracks users via cookies
* Full personalization from first visit
* May not comply with strict privacy laws
### Platform-Specific Handling
**BigCommerce Users**
* Automatically handled by BigCommerce cookie consent banner
* No additional action required
* Seamless integration with platform tools
**Other Platforms**
* Requires manual consent implementation
* See [Tracking Consent](/support/general/tracking-consent) documentation
* Custom consent event integration needed
For detailed implementation guidance, review our [tracking consent documentation](/support/general/tracking-consent).
## Recommender Settings
Configure default behavior for product recommendation display across your store.
### Display Parameters
**Minimum Recommender Items**
* Default minimum products to show
* Recommender hidden if threshold not met
* Can be overridden per campaign
**Maximum Recommender Items**
* Default maximum products to display
* Controls recommendation density
* Campaign-level override available
These settings provide sensible defaults while allowing campaign-specific customization when needed.
## Best Practices
### Configuration Management
1. **Regular review** - Audit settings quarterly
2. **Test changes** - Verify functionality after modifications
3. **Document changes** - Keep records of configuration updates
4. **Monitor impact** - Track analytics after setting changes
### Privacy Compliance
**Essential considerations:**
* Enable consent tracking for GDPR compliance
* Review local privacy law requirements
* Test consent flow thoroughly
* Monitor compliance effectiveness
## Related Documentation
* [Tracking Consent](/support/general/tracking-consent)
* [Campaign Settings](/features/campaigns/preview-settings)
* [Privacy Policy](/legal/privacy/privacy-policy)
# Support Policy
Source: https://docs.pureclarity.com/support/general/support-policy
Comprehensive support policy covering service levels, response times, and support services for PureClarity customers
PureClarity provides comprehensive support services and defined service levels to ensure 365/24/7 operation and help you maximize the value from our platform.
This policy covers the scope of support services and service level agreements (SLAs) for PureClarity customers.
## Support Services Overview
### Two-Tier Support Structure
**Application & Hosting Support**
* Physical architecture monitoring and maintenance
* Base operating system management
* Backup systems and data protection
* PureClarity software and admin dashboard support
**Success Management & User Support**
* Named Success Manager assignment
* Support analysts for guidance and advice
* Incident resolution management
* Strategic platform optimization
## Application & Hosting Support
### Pro-Active Monitoring
PureClarity infrastructure is monitored 365/24/7 to ensure peak efficiency and immediate response to service degradation.
**Monitoring capabilities:**
* **Continuous surveillance** of all system components
* **Automatic alerting** for service degradation
* **Immediate escalation** to support staff
* **Rapid restoration** to normal operations
**Monitoring scope:**
* Server performance and availability
* Database connectivity and performance
* Network connectivity and latency
* Application responsiveness and errors
### Scheduled Maintenance
**Maintenance approach:**
* **Minimal disruption** strategy for all scheduled work
* **Redundant systems** to avoid downtime when possible
* **At-risk periods** clearly communicated
* **Email notifications** for all scheduled maintenance
Almost all maintenance is performed without downtime due to fully redundant systems architecture.
**Maintenance types:**
* Security updates and patches
* Performance optimizations
* Infrastructure improvements
* Capacity expansions
### Software Updates
**Update management:**
* **Automatic deployment** of approved updates
* **Security fixes** prioritized for immediate deployment
* **Feature enhancements** delivered seamlessly
* **Documentation updates** included with releases
Software updates automatically replace previous versions - no customer action required.
## Success Management & User Support
### Operating Hours
**Normal Working Hours:** 9am to 5pm, Monday to Friday UK Time
**Excludes:** UK Public Holidays
**Emergency Support:** 365/24/7 for Critical Level 1 incidents
### Your Success Manager
Find your Success Manager's contact details by logging into PureClarity admin and navigating to **Help & Support > Support Centre**.
**Success Manager services:**
* Strategic guidance on PureClarity implementation
* Best practice recommendations
* Performance optimization advice
* Account relationship management
### Accessing Support
#### Email Support
**Email:** [support@pureclarity.com](mailto:support@pureclarity.com)
* Automatic support ticket creation
* Full incident tracking and documentation
* Response within defined SLA timeframes
#### Online Support Portal
**Portal:** [support.pureclarity.com](https://support.pureclarity.com)
* Direct incident logging and tracking
* Access to knowledge base and documentation
* Case history and status updates
### Support Coverage
**Included support services:**
✅ **Implementation guidance** and best practices
✅ **Platform usage** advice and training
✅ **Incident reporting** and resolution tracking
✅ **Password support** and account access
✅ **Support Center Portal** access and usage
## Service Level Agreements
### Level 1: Critical
**Definition:** PureClarity or major system components unavailable, critical to service delivery
**Examples:**
* Search function completely unavailable
* Products not rendering in search results
* Recommenders not displaying
* Complete system outage
**Response Time:** 15 minutes
**Resolution Time:** 2 working hours from notification
Critical incidents trigger immediate 365/24/7 response due to redundant architecture monitoring and automatic engineer notification.
### Level 2: High
**Definition:** Core data rendering incorrectly but solution mainly operational
**Examples:**
* Missing product information
* Incorrect category data
* Data feed synchronization issues
* Partial functionality loss
**Response Time:** 2 working hours from notification
**Resolution Time:** 8 working hours from notification
Data feed issues can often be diagnosed using the admin console feed analysis tools before contacting support.
### Level 3: Cosmetic/Minor
**Definition:** Issues that don't prevent core functionality
**Examples:**
* Styling or layout issues
* Page formatting problems
* Minor display inconsistencies
* Non-critical feature glitches
**Response Time:** 3 working hours from notification
**Resolution Time:** 24 working hours from notification
### Resolution Time Exceptions
If resolution cannot be achieved within SLA timeframes due to complexity or external factors, you'll be notified immediately with revised timelines.
**Factors affecting resolution:**
* Physical time required for complex fixes
* Dependencies on third-party systems
* Required customer input or testing
* External vendor coordination needs
### Information Requests
**Standard response time:** 8 working hours for information and advice requests
**Request types:**
* General platform questions
* Best practice guidance
* Feature explanations
* Implementation advice
## Service Credits
### Critical Incident Credits
**Credit calculation:** 1 day of annual subscription fee per full 60 minutes of Level 1 Critical downtime
**Maximum credits:** 10% of annual subscription fee per 12-month period
Service credits provide compensation for extended critical outages that impact your business operations.
### Credit Exclusions
**No credits provided for:**
* Scheduled maintenance events
* Circumstances beyond PureClarity's control (DDoS attacks, upstream outages)
* Natural disasters, war, fire, flood, sabotage
* Labor disturbances or government actions
* Client breach of service terms
### Credit Request Process
**Requirements:**
1. **Timely notification** - Report Level 1 incident during outage
2. **Written request** - Submit credit request within 10 business days
3. **Downtime measurement** - From help desk notification to restoration
Cash refunds are not provided - credits are applied to your account for future service usage.
## Policy Variations
PureClarity reserves the right to amend this support policy and modify or withdraw the Service Credit scheme with appropriate notice.
**Policy updates:**
* Regular review and improvement
* Customer notification of significant changes
* Effective date communication
* Transition period for major modifications
**Version:** 4.2 - Last updated: 26th June 2019
## Related Documentation
* [Security Disclosure Policy](/support/general/security-disclosure-policy)
* [Backup & Recovery Policy](/legal/terms/backup-recovery-policy)
* [Service Agreement](/legal/terms/service-agreement)
* [Platform Settings](/support/general/settings)
# Tracking Consent
Source: https://docs.pureclarity.com/support/general/tracking-consent
Implement GDPR and CCPA compliance with PureClarity tracking consent management for customer privacy protection
As a personalization platform, PureClarity requires tracking shopper actions to gather data for audience segmentation and deliver targeted campaigns and recommendations at optimal times.
Privacy-focused legislation like GDPR and CCPA requires shoppers to opt-in to tracking by giving explicit consent, typically through cookie banners.
## Privacy Legislation Compliance
### Legal Requirements
**Key privacy laws:**
* **GDPR** (General Data Protection Regulation) - European Union
* **CCPA** (California Consumer Privacy Act) - California, USA
* **Similar legislation** in various jurisdictions globally
**Compliance fundamentals:**
* Shoppers must opt-in to tracking
* Consent typically given via cookie banners
* Clear control over personal data usage
### PureClarity Consent Features
PureClarity provides optional consent requirements that can be controlled via [Customer Privacy Settings](/support/general/settings#customer-privacy-settings).
**Default behavior:**
* Consent requirement is **disabled by default**
* Serves global market with varying legal requirements
* **Enable if your business operates under privacy legislation**
### Platform-Specific Handling
**BigCommerce Customers**
BigCommerce customers don't need to modify PureClarity settings - we automatically use BigCommerce's built-in consent management.
**Other Platforms**
* Requires manual implementation
* Integration with existing cookie banners
* Custom consent event handling
## Implementation Guide
### Consent Granted Event
When a shopper provides tracking consent, call:
```javascript theme={null}
_pc('accept_cookies', true);
```
**Event trigger points:**
* Cookie banner "Accept" button click
* Privacy settings consent toggle
* First-time visitor consent flow
This call instructs PureClarity to begin storing cookies and tracking the user's behavior for personalization.
### Consent Revocation Event
For GDPR compliance, shoppers can revoke consent. When supported by your platform:
```javascript theme={null}
_pc('accept_cookies', false);
```
**Revocation effects:**
* PureClarity removes existing cookies
* Tracking stops immediately
* Personalization reverts to general recommendations
Ensure your cookie banner implementation supports consent revocation to maintain GDPR compliance.
## Impact of No Tracking Consent
### Functional Limitations
Without tracking consent, shoppers experience limited personalization:
**Recommendation Limitations**
* Only general recommendations available (e.g., Best Sellers)
* No personalized product suggestions
* Reduced conversion optimization
**Campaign Restrictions**
* Only broad segment campaigns shown ("First Time Visitors", "Everyone")
* Targeted campaigns unavailable
* Limited marketing effectiveness
**Popup Limitations**
* Only basic segment popups display
* No tracking of previously shown popups
* Shoppers see maximum one popup per session
**Analytics Impact**
* Shopper behavior not reflected in analytics
* Unable to map clickthroughs to conversions
* Reduced data for optimization
### User Experience Effects
Without tracking cookies, PureClarity treats the shopper as a new person on every page visit, severely limiting personalization capabilities.
**Session behavior:**
* Each page view treated as new visitor
* No cross-page behavior correlation
* Personalization resets per page
**Post-consent behavior:**
* Once consent given, all current session activity tied to shopper profile
* Historical behavior incorporated into personalization
* Full feature set becomes available
## Implementation Best Practices
### Cookie Banner Integration
**Essential elements:**
1. **Clear consent language** about tracking and personalization
2. **Easy accept/reject options** for user choice
3. **Event triggers** calling PureClarity consent functions
4. **Consent persistence** across sessions
### Compliance Strategy
Work with legal counsel to ensure your consent implementation meets local privacy law requirements.
**Recommended approach:**
* **Audit your customer base** - determine applicable legislation
* **Review consent banner** - ensure clarity and compliance
* **Test implementation** - verify consent events work correctly
* **Monitor performance** - track impact on conversion rates
### Performance Considerations
**Conversion optimization:**
* Clear value proposition for consent
* Streamlined consent process
* Immediate personalization benefits post-consent
* Transparent data usage explanation
## Technical Integration
### Event Verification
Test consent implementation:
```javascript theme={null}
// Check if consent has been given
_pc('get_consent_status', function(status) {
console.log('Consent status:', status);
});
```
### Debugging
**Verification steps:**
1. Check cookie presence after consent
2. Verify personalization activation
3. Confirm analytics tracking
## Related Documentation
* [Customer Privacy Settings](/support/general/settings#customer-privacy-settings)
* [Privacy Policy](/legal/privacy/privacy-policy)
* [Cookie Policy](/legal/privacy/cookie-policy)
* [GDPR Overview](/legal/gdpr/overview)
# User Explorer
Source: https://docs.pureclarity.com/support/general/user-explorer
Comprehensive guide to using User Explorer for viewing, searching, and managing customer data in PureClarity
The User Explorer allows you to view, search, and manage information PureClarity holds about your customers, providing essential tools for data management and GDPR compliance.
## User Identification
PureClarity receives customer identification information when users log into your site or make purchases, enabling cross-device tracking and personalization.
**Common identifiers include:**
* **B2B sites:** Account ID or company identifier
* **B2C sites:** Website's unique customer ID
* **Universal:** Email addresses for identification
* **Multi-device:** Consistent tracking across platforms
### Data Usage
Customer identification data serves two primary purposes:
1. **Segmentation** - Creating targeted customer groups
2. **Cross-device identification** - Recognizing users across multiple devices
## Searching for Users
### Search Functionality
To find specific users in your customer database:
1. Enter search term into the search box
2. Press Enter to execute search
3. Review matching results in the results area
Search terms must be complete and exact - full email addresses, account IDs, or user IDs are required.
**Searchable fields:**
* Email addresses (full address required)
* Account ID (exact match)
* User ID (exact match)
Partial searches are not supported - ensure you have the complete identifier for accurate results.
## Viewing User Details
### Accessing Customer Information
When PureClarity finds matching users:
1. Click the **Detail** button next to the user
2. View comprehensive customer data
3. Review all available information and activity
### Data Sources
The detailed view displays information from multiple sources:
**Customer Events**
* Login activities and account interactions
* Behavioral data and site engagement
* Profile information and preferences
**Order Tracking Events**
* Purchase history and transaction data
* Order values and product preferences
* Shopping patterns and frequency
**User Feeds**
* Additional customer data submitted via feeds
* Custom attributes and segmentation data
* Enhanced profile information
For technical details on data integration, see our [Custom Integration documentation](/integrations/custom/installation).
## GDPR Compliance - Forget User
### Data Removal for Privacy Compliance
The "Forget User" function permanently removes all potentially identifiable data about a user to comply with GDPR requirements.
**What gets removed:**
* All personally identifiable information
* Email addresses (stored as hashes)
* Account associations and identifiers
* Order history with personal details
### Forget User Process
1. **Select user** from search results
2. **Press Forget button** to initiate removal
3. **Confirm action** - this cannot be undone
4. **Wait for processing** - may take several hours
Once a user is forgotten, email addresses are stored as non-reversible hashes. You can verify forgetting occurred, but cannot identify the original email address.
### Post-Forgetting Limitations
**Permanent restrictions after forgetting:**
* Cannot store new data for this user
* PureClarity will never send emails to forgotten users
* User will appear as "forgotten" in User Explorer
* No identifiable data will be visible
There is no way to reverse the forget process or re-associate data with a forgotten user.
## Best Practices
### Data Management
1. **Regular audits** - Review customer data periodically
2. **GDPR requests** - Process data removal requests promptly
3. **Documentation** - Keep records of forget actions
4. **Verification** - Confirm user identity before forgetting
### Search Efficiency
Keep a record of customer identifiers used in your integration to make user searches more efficient.
**Search optimization:**
* Use primary email addresses when available
* Keep customer ID formats consistent
* Document identifier schemes for your team
## Related Tools
* [GDPR Tools](/legal/gdpr/tools)
* [Data Explorers Overview](/support/general/data-explorers-overview)
* [Customer Segments](/features/segments/overview)
* [Privacy Policy](/legal/privacy/privacy-policy)
# What is PureClarity?
Source: https://docs.pureclarity.com/support/general/what-is-pureclarity
Comprehensive overview of PureClarity's personalization platform, AI-driven recommendations, and how it transforms the customer shopping experience
## What is PureClarity?
At its core, PureClarity is a powerful personalization platform that allows you to give your visitors a personalized journey through your site. This increases your conversion rate as visitors find relevant products that they didn't know they were looking for. It boosts your average order value, as your visitors discover the perfect paired products for their shop. And it raises your revenue as your visitors are given the perfect reasons to shop – and to come back for more.
### How We Do This
PureClarity collects data at every level of the user journey to personalize for your visitors in real-time. The software learns about your visitors' likes and dislikes as they interact with your store, ensuring that every product and promotion they see is personalized.
You can let the [AI](/support/general/how-ai-works) do all the heavy lifting of day-to-day personalization, and create personalized [Campaigns](/features/campaigns/overview) to layer onto that if you like.
PureClarity's power stems from the flexibility of allowing you to choose to let the AI run all your personalization, and offering you the option of manually enriching if you choose.
## Automated Versus Enriched
PureClarity gives you two ways to run personalization.
### AI-Heavy Strategy
If you're time-poor, you can choose to focus on an AI heavy strategy. Simply place PureClarity's AI recommenders at key conversion points on your site, then sit back and watch your revenue, average order value and conversion rate improve.
Our advanced AI recommendation engine picks out the recommender most likely to convert that visitor, while making sure there aren't any duplicate products or irrelevant recommendations.
### Manual Enrichment
You can choose to enrich this with your own personalization. Create [Segments](/features/segments/overview), [Campaigns](/features/campaigns/overview), and create your own manual recommenders.
**Why would you choose manual recommenders?**
Our AI is constantly learning and adapting, so you might wonder when we'd recommend selecting your own recommendation strategy.
Our AI is focused on increasing conversion, but if you have stock to clear, or you want to raise awareness of another related brand or range on a product page, you can completely override and choose your own title, and fill the recommender with any products you choose.
Use manual recommenders when you need to promote specific products, clear inventory, or highlight particular brands or categories that align with your business objectives.
## What Can You Do with PureClarity?
With PureClarity, the sky is truly the limit. You can use the data we collect to personalize from the broadest group, like showing first-time visitors the incentive that's going to grab their attention and get them to make that first purchase with you.
### Broad Personalization
* **First-time visitors**: Show targeted incentives to encourage initial purchases
* **Returning customers**: Display products based on previous interactions
* **Segment-based targeting**: Create experiences for specific customer groups
### Granular Targeting
And you can create more niche Campaigns, aimed at specific Segments of your visitor groups to ensure they see the offer that's going to inspire them to try a brand you know they'll love.
**Example**: Show third-time visitors who have not bought anything who are located in London a banner showing them click-and-collect locations near them and a voucher for £10 off their first purchase.
You can get as specific as you want with your targeting, combining multiple criteria like visit count, purchase history, location, browsing behavior, and more.
## Key Benefits
### Increased Conversion Rate
* **Relevant product discovery**: Visitors find products they didn't know they were looking for
* **Personalized experiences**: Each visitor sees content tailored to their interests
* **Optimized user journeys**: AI learns and adapts to improve conversion paths
### Higher Average Order Value
* **Perfect product pairings**: Discover complementary products automatically
* **Cross-sell opportunities**: Show related items that increase basket size
* **Upsell strategies**: Present premium alternatives based on preferences
### Revenue Growth
* **Customer retention**: Personalized experiences encourage repeat visits
* **Improved engagement**: Relevant content keeps visitors on site longer
* **Better ROI**: More efficient marketing through targeted personalization
## Platform Features
### Core Capabilities
* **Real-time personalization**: Instant adaptation to visitor behavior
* **AI-powered recommendations**: Machine learning drives product suggestions
* **Advanced segmentation**: Create precise customer groups
* **Campaign management**: Design and deploy targeted experiences
* **Analytics and insights**: Comprehensive performance tracking
### Integration Options
* **Platform plugins**: Direct integrations for major ecommerce platforms
* **API access**: Custom integrations for bespoke systems
* **Easy implementation**: Quick setup with minimal technical requirements
* **Scalable architecture**: Grows with your business needs
## Getting Started
Enrich the visitor experience at every step of their shopping journey, on every part of your site, to deliver a highly personalized shopping experience.
Start by implementing basic AI recommendations on key pages, then gradually add more sophisticated segmentation and campaigns as you see results and become familiar with the platform.
## Next Steps
* Learn about [How the AI Works](/support/general/how-ai-works)
* Understand [Zones](/features/zones/overview) and where to place recommendations
* Explore [Campaign](/features/campaigns/overview) creation and management
* Discover [Analytics](/features/analytics/overview) and performance tracking