Skill 104 · Resolving Ingestion Warnings
Subchapter 104.7
references/fixing-group-key-too-long.mdMarkdown2 KBView on GitHub
A $groupidentify event was dropped because its $group_key was longer than 400 characters.
Category size, severity error: the group was not created or updated.
A group key should be a short, stable identifier — org_1042, a UUID, a domain. A key over 400 characters almost always means the wrong value was passed:
${orgName}${orgDescription} instead of ${orgId}).posthog:execute-sql: SELECT timestamp, details FROM system.ingestion_warnings WHERE type = 'group_key_too_long' AND timestamp > now() - INTERVAL 7 DAY ORDER BY timestamp DESC LIMIT 20. The details JSON includes the (truncated) groupKey, its length, and the 400 limit — the value itself usually reveals what got passed.groupIdentify / group( callsites and check what feeds the key argument.Pass a short, stable ID as the key, and keep everything descriptive in the properties:
posthog.group('organization', org.id, {
name: org.name,
plan: org.plan,
})The key is the group’s permanent identity — changing it later creates a new group, so pick the stable database ID, not a name or email that can change.
Re-run the flow, then re-query system.ingestion_warnings with posthog:execute-sql (filter type = 'group_key_too_long', timestamp after your fix) — no new occurrences — and confirm the group appears with its properties (posthog:execute-sql against the groups table).