Skip to main content

Services and Categories

Configure third-party services and organize them into meaningful consent categories.

Service Categories

Biskoui organizes services into standardized categories that users can understand and control.

Essential/Functional

Services required for basic website functionality that don't require explicit consent.

Examples:

  • Shopping cart functionality
  • User authentication
  • Security and fraud prevention
  • Load balancing and CDN
  • Essential website features

Configuration:

  • Usually enabled by default
  • Cannot be disabled by users
  • No explicit consent required
  • Should be minimal and truly essential

Analytics

Services that collect data about website usage and performance.

Examples:

  • Google Analytics
  • Adobe Analytics
  • Hotjar heatmaps
  • Custom analytics scripts
  • Performance monitoring tools

Data Collected:

  • Page views and session data
  • User behavior patterns
  • Technical performance metrics
  • Anonymous usage statistics

Marketing

Services used for advertising, retargeting, and marketing communications.

Examples:

  • Facebook Pixel
  • Google Ads tracking
  • LinkedIn Insight Tag
  • Email marketing platforms
  • Retargeting pixels

Data Collected:

  • Advertising identifiers
  • Conversion tracking data
  • Audience segmentation data
  • Marketing attribution data

Social Media

Services that enable social media integration and sharing.

Examples:

  • Social login (Facebook, Google)
  • Social sharing buttons
  • Embedded social media content
  • Social commenting systems
  • Social media widgets

Data Collected:

  • Social media profile data
  • Sharing and interaction data
  • Social network connections
  • User preferences and interests

Personalization

Services that customize user experience based on preferences or behavior.

Examples:

  • Recommendation engines
  • Personalized content
  • Saved preferences
  • Custom user interfaces
  • A/B testing platforms

Data Collected:

  • User preferences
  • Behavioral patterns
  • Personalization profiles
  • Test group assignments

Adding Services

Method 1: Service Templates

Use pre-configured templates for popular services.

Google Analytics 4:

{
"name": "Google Analytics 4",
"category": "analytics",
"description": "Web analytics service to track website usage and performance",
"script_url": "https://www.googletagmanager.com/gtag/js",
"blocking_method": "script_src",
"consent_required": true
}

Facebook Pixel:

{
"name": "Facebook Pixel",
"category": "marketing",
"description": "Facebook advertising and analytics tracking",
"script_url": "https://connect.facebook.net/en_US/fbevents.js",
"blocking_method": "script_src",
"consent_required": true
}

Google Tag Manager:

{
"name": "Google Tag Manager",
"category": "analytics",
"description": "Tag management system for marketing and analytics",
"script_url": "https://www.googletagmanager.com/gtm.js",
"blocking_method": "script_src",
"consent_required": true
}

Setup Process

  1. Go to Services in your dashboard
  2. Click Add Service
  3. Select from popular templates
  4. Customize name and description
  5. Assign to appropriate category
  6. Save configuration

Method 2: Custom Services

Configure custom or less common services manually.

Required Information

Service Name: User-friendly name (e.g., "Custom Analytics") Category: Choose appropriate category Description: Clear explanation of what the service does Blocking Method: How to prevent the service from loading

Blocking Methods

Script Source Blocking:

  • Block scripts by URL pattern
  • Most common method
  • Works with external scripts

Data Attribute Blocking:

  • Block elements with specific attributes
  • Good for embedded content
  • Flexible targeting

Custom Function Blocking:

  • Use JavaScript to control loading
  • Most flexible but requires technical knowledge
  • Good for complex integrations

Configuration Example

{
"name": "Custom Marketing Tool",
"category": "marketing",
"description": "Internal marketing automation platform",
"blocking_method": "data_attribute",
"blocking_selector": "[data-marketing-tool]",
"consent_required": true,
"vendor_info": {
"name": "Your Company",
"privacy_policy": "https://yourcompany.com/privacy"
}
}

Managed vs Unmanaged Service Modes

biskoui operates in two primary modes for handling third-party services, offering flexibility for different technical requirements and compliance needs.

In managed mode, biskoui automatically handles service blocking and activation without requiring custom code implementation.

How It Works:

  • biskoui automatically detects and blocks common third-party services
  • Services are queued until appropriate consent is granted
  • Automatic activation when consent is given
  • No manual JavaScript implementation required

Supported Services:

  • Google Analytics (GA4, Universal Analytics)
  • Facebook Pixel and Meta services
  • Google Tag Manager and tags
  • YouTube and Vimeo embeds
  • Twitter/X embeds and widgets
  • LinkedIn Insight Tag
  • HubSpot tracking code
  • Mailchimp and email marketing tools

Configuration:

{
"mode": "managed",
"auto_detection": true,
"service_templates": [
{
"name": "Google Analytics 4",
"auto_block": true,
"activation_method": "automatic"
}
]
}

Benefits:

  • ✅ Quick setup with minimal technical knowledge required
  • ✅ Automatic updates as services change
  • ✅ Consistent blocking behavior
  • ✅ Pre-configured templates for popular services
  • ✅ Automatic compliance with service-specific requirements

Unmanaged Mode (Developer Control)

In unmanaged mode, developers maintain full control over service behavior using biskoui's JavaScript API and event system.

How It Works:

  • biskoui provides consent state and events
  • Developers implement custom blocking/activation logic
  • Full control over when and how services load
  • Custom handling for edge cases and complex integrations

Use Cases:

  • Custom or proprietary analytics systems
  • Complex service dependencies
  • Specific performance optimization requirements
  • Advanced integration patterns
  • Services not supported in managed mode

Implementation Example:

// Check consent state before loading services
document.addEventListener('biskoui:ready', function() {
if (window.biskoui.hasConsent('analytics')) {
loadCustomAnalytics();
}

if (window.biskoui.hasConsent('marketing')) {
initializeMarketingAutomation();
}
});

// Listen for consent changes
document.addEventListener('biskoui:consent:given', function(event) {
const categories = event.detail.categories;

if (categories.includes('analytics')) {
loadCustomAnalytics();
}

if (categories.includes('marketing')) {
initializeMarketingAutomation();
}
});

// Custom service loading functions
function loadCustomAnalytics() {
// Your custom analytics initialization
if (!window.customAnalytics) {
const script = document.createElement('script');
script.src = '/path/to/analytics.js';
script.onload = function() {
window.customAnalytics.init({
trackingId: 'your-tracking-id'
});
};
document.head.appendChild(script);
}
}

Benefits:

  • ✅ Complete control over service behavior
  • ✅ Custom loading strategies and optimization
  • ✅ Integration with proprietary systems
  • ✅ Advanced error handling and fallbacks
  • ✅ Perfect for complex enterprise requirements

Hybrid Approach

Many implementations benefit from combining both modes:

// Use managed mode for standard services (Google Analytics, Facebook)
// Combined with unmanaged mode for custom services

// Managed services are handled automatically
// Custom services use the API:

document.addEventListener('biskoui:consent:given', function(event) {
if (event.detail.categories.includes('analytics')) {
// Custom analytics in addition to managed Google Analytics
initializeHeatmapTracking();
loadCustomDashboard();
}
});

Choosing the Right Mode

Choose Managed Mode When:

  • Using standard third-party services (Google, Facebook, etc.)
  • Want quick implementation with minimal coding
  • Need automatic updates and maintenance
  • Have limited technical resources
  • Prefer guaranteed compliance with service requirements

Choose Unmanaged Mode When:

  • Using custom or proprietary services
  • Need precise control over loading timing
  • Have complex service dependencies
  • Implementing advanced performance optimizations
  • Building custom consent experiences

Choose Hybrid Approach When:

  • Using mix of standard and custom services
  • Want benefits of both automated and custom control
  • Implementing progressive consent collection
  • Building enterprise-scale applications

Service Blocking Implementation

How Service Blocking Works

biskoui prevents third-party services from loading until users provide consent through multiple technical approaches.

Technical Implementation

Script Blocking:

<!-- Before consent -->
<script data-biskoui-blocked data-category="analytics" src="blocked-url"></script>

<!-- After consent -->
<script src="https://analytics-service.com/script.js"></script>

Iframe Blocking:

<!-- Before consent -->
<div data-biskoui-placeholder data-category="social">
<p>Social content requires consent to display</p>
<button onclick="biskoui.requestConsent('social')">Load Content</button>
</div>

<!-- After consent -->
<iframe src="https://social-platform.com/embed"></iframe>

Automatic Blocking

Enable automatic blocking for common services.

Configuration Options

Auto-detect Scripts:

  • Automatically detect and block known tracking scripts
  • Uses URL patterns to identify services
  • Updates regularly with new services

Content Security Policy (CSP):

  • Block external resources using CSP headers
  • More secure but requires server configuration
  • Works at the browser level

JavaScript API:

  • Programmatically control service loading
  • Most flexible approach
  • Requires custom implementation

Setup in Dashboard

  1. Go to ServicesAuto-blocking
  2. Enable automatic detection
  3. Configure blocking sensitivity
  4. Test with preview mode
  5. Monitor blocking effectiveness

Manual Blocking

For custom services or specific use cases.

Data Attributes

Add data attributes to control specific elements:

<!-- Block until analytics consent -->
<div data-biskoui-category="analytics">
<script src="analytics.js"></script>
</div>

<!-- Block until marketing consent -->
<img data-biskoui-category="marketing"
src="tracking-pixel.gif"
alt="Marketing Pixel">

<!-- Block until social consent -->
<iframe data-biskoui-category="social"
src="social-embed.html"></iframe>

JavaScript Control

Use the JavaScript API for dynamic blocking:

// Check consent before loading
if (biskoui.hasConsent('analytics')) {
loadAnalyticsScript()
}

// Listen for consent changes
biskoui.on('consent:given', function(categories) {
if (categories.includes('marketing')) {
initializeMarketingTools()
}
})

// Progressive consent collection
function askForAnalyticsConsent() {
biskoui.requestConsent(['analytics'], {
message: 'We\'d like to track page views to improve our website',
onAccept: function() {
loadAnalyticsScript()
}
})
}

Service Descriptions

Writing Effective Descriptions

Users need to understand what each service does to make informed consent decisions.

Best Practices

Be Clear and Specific:

  • Explain exactly what data is collected
  • Mention the purpose and benefits
  • Avoid technical jargon
  • Use everyday language

Examples of Good Descriptions:

Good: "Google Analytics helps us understand how visitors use our website so we can improve it. It tracks page views, time spent on pages, and which features are most popular."

Bad: "Third-party analytics service for data collection and processing."

Include Privacy Information:

  • Link to vendor privacy policies
  • Mention data retention periods
  • Explain user rights and controls
  • Note any data sharing practices

Description Templates

Analytics Services:

[Service Name] helps us understand how you use our website so we can improve your experience. It tracks which pages you visit, how long you spend reading, and which features you find most useful. This data is anonymized and used only to make our website better.

Privacy Policy: [Link]
Data Retention: [Period]

Marketing Services:

[Service Name] allows us to show you relevant advertisements on other websites based on your interests. It tracks your browsing behavior to create a profile of your preferences, which helps us display ads that might interest you.

Privacy Policy: [Link]
Opt-out: [Link]

Social Media Services:

[Service Name] enables social media features like sharing buttons and embedded content. It may collect information about your social media activity and share it with the social media platform to personalize your experience.

Privacy Policy: [Link]
Platform: [Social Media Platform]

Multilingual Support

Provide descriptions in multiple languages for international websites.

Language Configuration

  1. Go to ServicesDescriptions
  2. Select default language
  3. Add translations for each service
  4. Set language detection method
  5. Test with different locales

Translation Best Practices

  • Use professional translators for legal accuracy
  • Maintain consistent terminology across languages
  • Consider local privacy law requirements
  • Test with native speakers

Service Categories Customization

Custom Categories

Create custom categories for specific industry needs.

Healthcare Example

  • Medical Essential: Required for healthcare functionality
  • Medical Analytics: Health outcome tracking
  • Medical Marketing: Healthcare service promotion
  • Research: Medical research and studies

Financial Services Example

  • Financial Essential: Core banking/finance functions
  • Financial Analytics: Transaction and usage analysis
  • Investment Marketing: Investment product promotion
  • Risk Assessment: Credit and risk evaluation

E-commerce Example

  • Store Essential: Shopping cart and checkout
  • Store Analytics: Shopping behavior analysis
  • Product Marketing: Product recommendations and ads
  • Customer Support: Chat and support tools

Category Dependencies

Set up relationships between categories.

Configuration Options

Prerequisite Categories:

  • Some categories require others to be enabled first
  • Example: "Advanced Analytics" requires "Basic Analytics"
  • Prevents users from enabling incompatible combinations

Mutually Exclusive Categories:

  • Some categories cannot be enabled together
  • Example: "Privacy Mode" vs "Full Tracking"
  • Helps users make consistent choices

Implementation Example

{
"category_rules": {
"advanced_analytics": {
"requires": ["basic_analytics"],
"description": "Advanced analytics requires basic analytics to be enabled"
},
"privacy_mode": {
"conflicts_with": ["marketing", "advanced_analytics"],
"description": "Privacy mode disables marketing and advanced tracking"
}
}
}

Testing Service Configuration

Verification Steps

  1. Service Detection: Confirm all services are properly detected
  2. Blocking Effectiveness: Verify services are blocked without consent
  3. Consent Flow: Test that services activate after consent
  4. Category Logic: Ensure category relationships work correctly

Testing Tools

Browser Developer Tools:

  • Check Network tab for blocked requests
  • Verify scripts are not loading
  • Monitor console for blocking messages

Biskoui Debug Mode:

  • Enable debug mode in dashboard
  • View detailed blocking information
  • See real-time consent state changes

Testing Checklist:

  • All services properly categorized
  • Service descriptions are clear and accurate
  • Blocking works without consent
  • Services activate after consent
  • Category dependencies work correctly
  • Multilingual descriptions display correctly

Next Steps

After configuring services and categories:

  1. Customize banner styling and branding
  2. Set up language and internationalization
  3. Configure cross-domain consent
  4. Test your configuration