Chat Session End
Also known as: Chat End, Chat Closed, Live Chat End, chat_end
Fires when a customer support chat closes, whether the customer, agent or bot ends it or it times out. It carries chat_session_id, end_reason, handled_by and chat duration.
Event Serialization
always
Business Use Case
["1️⃣ Customer Service Lead: inactivity_timeout share rises for one agent_team → reviews staffing and first-response targets.","2️⃣ Support Operations: unresolved bot_closed chats climb for one contact_reason → adds that intent to the bot flow.","3️⃣ CX Manager: csat_prompted is false on many closed chats → fixes the post-chat survey trigger."]
Business Criticality
Medium
Journey / Navigation Area
Engagement
Owning Function
Customer Service
Calculation Notes
["1️⃣ Fires once when the chat widget or chat platform closes the conversation; never on widget minimise, page change or agent transfer.","2️⃣ Serialization always: every closed chat is a hit. Dedupe on chat_session_id; the widget and the platform webhook can both send the close.","3️⃣ Required: interaction_type = chat_end (the discriminator on contact_support), chat_session_id, end_reason, handled_by, chat_duration_sec.","4️⃣ Optional: ticket_id, contact_reason, resolution_type, agent_team, csat_prompted (true when the post-chat survey is shown).","5️⃣ end_reason: customer_closed, agent_closed, bot_closed, inactivity_timeout (platform idle rule, not GA4's). Duration includes queue time.","6️⃣ No transcript text, name or email in any parameter; ticket_id links to the CRM record. Send only with analytics consent granted.","7️⃣ Common mistake: firing on tab close or page unload. A chat that resumes on the next page is still open and must not end."]
Platform Events
| Platform | Event |
|---|---|
| Google Analytics 4 | contact_support |
| Adobe | contact_support |
Data Mappings
W3 Data Layer
{
"event": [
{
"eventInfo": {
"eventName": "contact_support",
"eventAction": "chat_end",
"timeStamp": "2026-09-27T14:32:00Z"
},
"category": {
"primaryCategory": "Customer Support"
},
"attributes": {
"interaction_type": "chat_end",
"chat_session_id": "chat-8f21ac",
"end_reason": "agent_closed",
"handled_by": "agent",
"chat_duration_sec": 342,
"ticket_id": "TCK-55210",
"contact_reason": "return_status",
"resolution_type": "resolved",
"agent_team": "returns_support",
"csat_prompted": true
}
}
]
}GA4 Data Layer
{
"event": "contact_support",
"interaction_type": "chat_end",
"chat_session_id": "chat-8f21ac",
"end_reason": "agent_closed",
"handled_by": "agent",
"chat_duration_sec": 342,
"ticket_id": "TCK-55210",
"contact_reason": "return_status",
"resolution_type": "resolved",
"agent_team": "returns_support",
"csat_prompted": true
}Adobe Client Data Layer
{
"event": "contact_support",
"chatSession": {
"interaction_type": "chat_end",
"chat_session_id": "chat-8f21ac",
"end_reason": "agent_closed",
"handled_by": "agent",
"chat_duration_sec": 342,
"ticket_id": "TCK-55210",
"contact_reason": "return_status",
"resolution_type": "resolved",
"agent_team": "returns_support",
"csat_prompted": true
}
}XDM Mapping
{
"_experience": {
"analytics": {
"customDimensions": {
"eVars": {
"eVar1": "chat_session_id",
"eVar2": "end_reason",
"eVar3": "handled_by",
"eVar4": "ticket_id",
"eVar5": "contact_reason",
"eVar6": "resolution_type",
"eVar7": "agent_team",
"eVar8": "interaction_type"
},
"props": {
"prop1": "csat_prompted"
}
},
"event1to100": {
"event1": {
"value": "chat_duration_sec"
}
}
}
}
}Source Data
Digital Analytics (GA4)
Dependencies
Prerequisite: List the dependencies required for this Event
Report Attributes
end_reason handled_by agent_team contact_reason resolution_type device_category
Segment Eligibility
true
Governance
Dimensions
Related Dimensions
Governance & Metadata
GitHub
catalog/events/chat-session-end.yml