Multi Accounting Groups allow you to segment the multi-accounting graph within a single project. This feature enables you to isolate and manage distinct sets of related accounts, ensuring that multi-accounting detection only occurs within specified groups.

The Verisoul team will tell you if this is the right solution for your use case. Most customers will not need to use this feature.

How Groups Work

When groups are enabled, accounts are only considered linked if they share the same group identifier. For example:

Account 1 (Group A) ← Same device → Account 2 (Group A)    // Will be linked
Account 3 (Group B) ← Same device → Account 4 (Group B)    // Will be linked
Account 2 (Group A) ← Same device → Account 3 (Group B)    // Will NOT be linked

Even if accounts from different groups share the same device, network, or other signals, they will not be considered linked accounts.

Important Restrictions

Before implementing groups, be aware of these critical restrictions:

  1. Groups must be enabled for the project (use the dashboard developers tab)
  2. Once groups are enabled for a project, they cannot be disabled
  3. Every account must have a group assigned
  4. Each account can only belong to one group at a time
  5. Once an account is added to a group, it cannot be changed to a different group

Implementation

Client-Side Integration

When initializing the client, include the group in the account object:

verisoul.account({
  id: "user123",
  email: "user@example.com",
  group: "survey_batch_a"  // Group identifier
});

Server-Side Integration

When making authenticate API calls, include the group in the account object:

{
  "account": {
    "id": "user123",
    "email": "user@example.com",
    "group": "survey_batch_a"  // Group identifier
  }
}

What if I have accounts that are in multiple groups?

A common way to handle this is to create a new account for each account-group pair. This way, you can track the relationship between the account and the group separately.

The easiest way to do this is to concatenate the account id and group together. For example:

{
  "account": {
    "id": "user123-survey_batch_a",
    "email": "user@example.com",
    "group": "survey_batch_a"  // Group identifier
  }
}

You will still want to use the group field to segment the multi-accounting graph in the dashboard. Using this method you can still easily search for accounts in the dashboard and segment by group.

Common Use Cases

Survey Platforms

The most common use case for groups is survey platforms where:

  • Each survey batch needs to be isolated
  • Multiple responses from the same user are allowed across different surveys
  • Duplicate responses within the same survey need to be prevented

Alternative Solutions

Before enabling groups, consider these alternatives:

  • Using multiple projects instead of groups (recommended for most customers)
  • Implementing custom filtering logic in your application
  • Using the lists feature for managing allowed duplicates

Best Practices

  1. Consult First: Talk to the Verisoul team before enabling groups to ensure it’s the right solution for your use case
  2. Plan Ahead: Since groups cannot be disabled once enabled, carefully plan your implementation
  3. Consistent Naming: Use a consistent naming convention for your groups
  4. Documentation: Maintain internal documentation of your group structure and purpose

Getting Help

If you’re considering using groups or have questions about implementation:

  • Reach out on Slack or email support@verisoul.ai
  • Schedule a consultation with the Verisoul team
  • Review your use case to determine if multiple projects might be a better solution