Skip to main content

Multi-Product Approval

Multi-product approval allows you to present multiple products to parents for approval in a single consent flow. This reduces friction in the parental consent process, making it easier for families to access your games and services while maintaining compliance with privacy regulations.

Benefits

  • Reduced Parent Friction: Parents can approve multiple products at once instead of going through separate consent flows for each product
  • Improved Child Experience: Children gain access to multiple products simultaneously, reducing wait times and abandoned consent flows
  • Flexible Configuration: Choose which products to bundle together based on your platform architecture and user needs
  • Maintain Compliance: All products in a bundle maintain their individual permission settings and regulatory requirements

multi-product approval

Use Cases

Multi-product approval is ideal for:

  • Platform + Games: You have an account system or platform that multiple games depend on
  • Game Collections: You offer multiple related games that families typically want to access together
  • Tiered Access: You have core services and optional add-ons that can be approved simultaneously

Example Scenario

Your company offers a gaming platform with a central account system and several individual games. When a child tries to play Game A:

  1. The consent flow automatically includes both the Account System and Game A
  2. Parents review and approve permissions for both products at once
  3. The child gains immediate access to both products
  4. If the child later wants to play Game B, parents can approve it separately or alongside other games

Configuration Options

There are three ways to implement multi-product approval:

1. Product Bundling (Static Configuration)

Configure which products automatically appear together in consent flows through the Compliance Studio.

How to Configure:

  1. In the Compliance Studio, select your product
  2. Go to Configuration, and click Edit within the Multi-Product Approval section.
  3. Click the toggle next to Enable Multi-Product Approval
  4. Select which products to bundle with the current product
  5. Click Push to Test

multi-product approval

Parent Experience: When parents receive a consent request for the primary product, they'll automatically see the bundled products included. Parents can remove bundled products if they don't want to approve them.

Best for: Products that are commonly used together but don't have hard dependencies

For more detail on how configuring your product for Multi-Product Approval, see the Compliance Studio guide Multi-Product Approval.

2. Essential Products (Required Dependencies)

Mark another product as required for your product to function. This is typically used when your product depends on a platform or account system.

How to Configure:

  1. In the Compliance Studio, select your product
  2. Go to Configuration, and click Edit within the Multi-Product Approval section.
  3. Click the toggle next to Enable Multi-Product Approval
  4. Under Essential Product, select the product that must be approved alongside this product
  5. Click Push to Test

Parent Experience: The essential product cannot be removed from the consent flow. Parents must approve both products together, or reject the consent request entirely.

Important Restrictions:

  • A product can only have one essential product
  • Essential products cannot themselves require another essential product (no chaining)
  • Use this only for true dependencies, not just convenience

Best for: Products that cannot function without access to another product (e.g., a game that requires a platform account)

3. Dynamic Bundling (API-Based)

Programmatically select which products to bundle at the time of creating a consent challenge using the API.

How to Use:

Call the /challenge/create-bulk API endpoint with the specific product IDs you want to include:

{
"jurisdiction": "US-CA",
"requestedProductIds": [123, 456, 789],
"kuid": "12b9fa0e-6d6d-4903-a1fc-f2233027b71d"
}

Parent Experience: Parents see the specific bundle of products you've defined for this consent request.

Best for:

  • Contextual bundling based on user behavior
  • A/B testing different product combinations
  • Complex logic that determines which products to offer together

Best Practices

Choosing the Right Approach

  • Use Bundling when products are often used together but don't have technical dependencies
  • Use Essential Products only when one product truly cannot function without another
  • Use Dynamic Bundling when you need runtime flexibility or contextual product selection

Configuration Tips

  1. Start Simple: Begin with essential products only, then add bundling as needed
  2. Consider the Parent Journey: Don't overwhelm parents with too many products in one bundle
  3. Test Your Flows: Use Test Mode to verify the parent experience before going live
  4. Document Dependencies: Keep clear records of which products depend on others for your development team

Permission Considerations

When multiple products are bundled:

  • Parents see the union of all permissions from all products
  • Each product maintains its own permission configuration
  • Parents can enable/disable permissions for each product individually
  • All data disclosures from bundled products are presented together

Common Patterns

Pattern 1: Account + Multiple Games

Configuration:

  • Account System product (no essential product)
  • Game A: Account System as essential product
  • Game B: Account System as essential product
  • Game C: Account System as essential product

Result: Any game approval automatically requires account system approval, but parents can approve multiple games at once.

Pattern 2: Game Suite with Optional Add-Ons

Configuration:

  • Main Game: No essential product
  • Expansion Pack A: Main Game as essential product, bundled with Main Game
  • Expansion Pack B: Main Game as essential product, bundled with Main Game

Result: Parents can approve the main game with optional expansions in one flow.

Pattern 3: Platform Approach

Configuration:

  • Platform Product: No essential product
  • Social Features: Platform as essential, bundled with Platform
  • Premium Content: Platform as essential, bundled with Platform

Result: Parents approve platform access, with easy add-ons for additional features.

Technical Details

Webhook Events

When parents approve a multi-product bundle, you'll receive separate Challenge.StateChange webhook events for each approved product. All sessions will share the same kuid (k-ID user ID), allowing you to associate them with the same child.

Session Management

Each approved product in a bundle creates its own session with its own sessionId. You should:

  • Cache all sessions associated with a player's kuid
  • Use the appropriate session when checking permissions for each product
  • Query sessions using /session/get with the relevant sessionId or kuid and product API key

API Endpoints

Edge Cases and Considerations

When configuring multi-product approval, be aware of how essential products affect age requirements and permissions:

Age Minimum Requirements

The Rule: A child must meet the age requirements for all products in a bundle.

If an essential product has a higher age minimum than the product that depends on it, children below that age will be denied access to both products.

Example:

  • Game A: Minimum age 10, requires Account System as essential product
  • Account System: Minimum age 13

Result: Children must be at least 13 to access Game A, even though Game A's configured minimum is 10.

Best Practice: Set the age minimum of dependent products to be equal to or higher than their essential product's age minimum.

Permission Handling

The Rule: Parents must approve the most restrictive permission requirements across all bundled products.

When products are bundled together, k-ID evaluates each permission across all products and applies the most restrictive setting:

  • If a permission is required in any product, it becomes required for the entire bundle
  • If a permission is optional in one product but required in another, it becomes required
  • Parents must grant all required permissions to complete the consent flow

Example:

  • Game A: "Voice Chat" is optional (parent can choose)
  • Account System (essential to Game A): "Voice Chat" is required (parent must approve)

Result: Parents must approve "Voice Chat" to grant consent, even though Game A alone would have made it optional.

Best Practice:

  • Align permission requirements between dependent products when possible
  • Review the combined permission set that parents will see
  • Consider whether certain permissions should be required at the platform level or game level

Testing Your Configuration

Before going live:

  1. Review Your Product Architecture: Identify which products have dependencies and which are commonly used together
  2. Configure in Test Mode: Set up your multi-product approval configuration in the test environment
  3. Test the Parent Experience: Go through the consent flow as a parent to verify the experience
  4. Review Webhook Integration: Ensure your backend properly handles multiple session events
  5. Push to Live: When ready, publish your configuration to the live environment