How Accoil Handles Identifier Case Sensitivity
Accoil treats user and account identifiers as case-insensitive. Here's what that means for your data and what to do if your IDs are case-sensitive.
Accoil treats the identifiers you send for users and accounts as case-insensitive. This article explains that behavior so you know what to expect — both in how Accoil matches your data and in what Accoil sends back to downstream tools.
The Short Answer
When Accoil receives an identifier, it normalizes it to lowercase before storing or matching it. This applies to:
- User identifiers (the
userIdyou send) - Account / group identifiers (the
group_idyou send)
So ACME-123, Acme-123, and acme-123 are all treated as the same identifier.
Why Accoil Does This
Case-insensitive matching keeps your data clean. Without it, the same real-world user or account could be split into multiple records simply because an identifier arrived with different capitalization from different parts of your stack.
By normalizing to lowercase, Accoil ensures one user maps to one record and one account maps to one account — regardless of how the casing happens to be sent.
What This Means for Your Data
- Matching is case-insensitive. Events and traits sent with any capitalization of an identifier are attributed to the same user or account.
- Accoil stores and returns the lowercased value. When Accoil syncs data back out — for example, through Identify and Group calls to Segment — the identifier is the lowercased version, not the original casing you sent.
A note on terms: in some integrations you may see an identifier referred to as tracking_id. This is simply Accoil's internal handle for the user identifier you sent as userId — it is the same identifier, normalized to lowercase.
If Your Identifiers Are Case-Sensitive
Some systems use identifiers where casing is meaningful — that is, where ABC and abc are two genuinely different users or accounts. If that describes your setup, there are two things to be aware of:
- Two identifiers that differ only by case will be collapsed into a single record in Accoil.
- The lowercased identifier Accoil sends downstream may not match the original, case-sensitive identifier used elsewhere in your stack.
If your identifiers are case-sensitive and this affects you, please reach out to our support team so we can look at your specific setup and the best way forward. Don't change your integration on your own assumptions about case handling first — talk to us so we can confirm the right approach for your data.
Summary
| Question | Answer |
|---|---|
| Does Accoil care about identifier casing? | No — identifiers are matched case-insensitively. |
| How does Accoil store identifiers? | Normalized to lowercase. |
| What does Accoil send downstream? | The lowercased identifier. |
| My IDs are case-sensitive — what do I do? | Reach out to support so we can review your setup. |
Import Data into Accoil
Accoil’s data import system enables high-throughput bulk ingestion of historical user, group, and event data to power your analytics.
Accoil Sandbox Accounts
Request a free, isolated sandbox account to test tracking setups, data models, and segments without touching your production data.