Contact Timestamps
  • 05 Nov 2022
  • 5 Minutes To Read
  • PDF

Contact Timestamps

  • PDF

The Contact Timestamps gives you detailed information about what happened to Contacts, and who was involved.

How Data in the report is measured

The report is measured by the following:


  • Grouped by Event.

Time Anchor

  • Data is time anchored using using 'Time of event' in the UI, which is when the Contact event occurred or was recorded.

Metrics used for the Contact Timestamps report

Review the definition of each metric and how it's used. These are fields you'll also see in the CSV download. These fields also correspond to data made available in the Events API.

TimestampTimestamp when the event was recorded
Event TypeType of event that occurredOptions include:
Contact IDGladly ID for the Contact
Conversation IDGladly ID for the Conversation
Customer IDGladly ID for the Customer
ChannelChannel of the ContactOptions include:
Initiator Type Entity that performed the actionOptions include: CUSTOMER, AGENT, AUTOMATION (Rules), INTERNAL, EXTERNAL, APPLICATION (action performed via API), SYSTEM (action by the Gladly system)
Initiator ID ID of the Agent, Rule, etc. that performed the action, where applicable
Initiator Agent Name Name of the Agent who performed the action, if applicable
Assigned Inbox ID ID of the Inbox where the Contact is assigned before the event occurred
Assigned Inbox Name Name of the Inbox where the Contact is assigned before the event occurred
Assigned Agent ID ID of the Agent who is assigned to the Contact before the event occurred
Assigned Agent Name Name of the Agent who is assigned to the Contact before the event occurred
Target Agent IDID of the Agent who is the target of the event actionFor example, the agent being offered a Contact is provided as the target
Target Agent NameName of the Agent who is the target of the event action
Transferred To Agent ID ID of the Agent who is receiving the Transfer
Transferred To Agent Name Name of the Agent who is receiving the Transfer
Transferred To Inbox ID ID of the Inbox that is receiving the Transfer
Transferred To Inbox Name Name of the Inbox that is receiving the Transfer
Transferred TypeType of Transfer, cold or warmOptions include: COLD, WARM
Transferred ReasonReason the Contact was transferredOptions include:  AUTOMATION (Rules), MANUAL (Transferred by an Agent), MERGE (Customer was merged), UNKNOWN
Due AtTarget due date set for the Contact
Fulfilled TypeCategory of how the Contact was fulfilledOptions include: RESPONDED, CANCELED
Ended ReasonReason the Contact was endedOptions include:
  • AGENT_ENDED – Contact was ended by an Agent by clicking End. This is currently applicable only to chat.
  • CONVERSATION_CLOSED – Contact ended because the Conversation was closed.
  • CUSTOMER_DELETED – Contact ended because the Customer was deleted (e.g per GDPR or CCPA request).
  • CUSTOMER_NO_REPLY – Contact timed out because the Customer didn’t reply to the last message from the Agent. The timeouts are configurable in Conversation Workflow settings.
  • MERGED – Contact ended because there was another Contact over the same Channel when two Customers got merged. Note that Gladly never ends Contacts due to Customer merges if Contacts are over unique Channels. However, when both Customers have Contacts over the same Channel we pick the one from the destination Customer and end the one from the source Customer.
  • NO_REPLY_NEEDED – Contact ended because Agent marked the last Contact as No Reply Needed.
  • STARTED_NEW – Contact ended because the Customer switched devices while remaining on the same Channel. This is currently applicable only to chat.
  • TIME_EXPIRED –  Contact ended because the maximum allowed time for the Contact passed. Currently applies to Chat, Facebook, Instagram, and WhatsApp.
  • API – Contact was ended via an API call.
Ended StatusThe final status of the ContactOptions include: ABANDONED, ANSWERED, UNANSWERED, UNKNOWN
Hold ReasonReason associated with the Hold when it started or endedOptions include: COLD_TRANSFER, CONFERENCE, MANUAL, WARM_TRANSFER
Rejected ReasonCategory of why the Contact offer was rejectedOptions include: DECLINED, MISSED, TRANSFER_CANCELED, or DEVICE_ERROR
Message IDGladly ID for the Message sent or received
Payment CurrencyCurrency used for the payment request
Payment AmountAmount provided in the payment request
Payment StatusPayment request statusOptions include
REQUESTING: Waiting for input from the customer
SUBMITTED: Customer has submitted details
COMPLETED: Agent has completed the transaction
DECLINED: Customer has declined the request
ERROR: Error occurred while saving the credit card
TIMED_OUT: Chat Contact timed out due to inactivity
Match ReasonsComma-separated list of Reason(s), configured in People Match, that the Customer was matched with the Agent.Options vary by configuration.
Fulfilled by Contact IDGladly ID for the Contact that fulfilled this Contact (if applicable)
  • Example with different ID: if an outbound phone call Contact fulfills a voicemail Contact, the phone call Contact ID will be shown.
  • Example with same ID: if an Agent responds on chat to a customer's chat message, the chat Contact ID will be listed in its own row.
Entry Point
For an inbound Contact, the "To" address (phone number, email address, Sidekick ID, etc.) that the Customer reached out to
Final IVR SelectionFinal selection made in the IVR before the Contact is queued

How the Contact Timestamps report is filtered

Use these filters to modify the data in your report. You can learn more about filters here.


  • When filtering by date, you will see any events recorded within that date range. This corresponds to the "Timestamp" field.
Note - Use of long date range 
Because the report queries at the Contact level, long date ranges coupled with a high volume of Contacts may lead to a large number of rows in the report. If you’re expecting a high volume of events, start by querying for a short range of time, such as 1 day.

How to use the Contact Timestamps report

The Contact Timestamps report can provide multiple data points based on how you slice and dice the data. Below are a couple of examples:

ScenarioColumn Filter
Identify phone calls abandoned in queue.
  • Filter the "Ended Status" column for "ABANDONED". This shows Phone Calls that were abandoned in the queue (not in the initial IVR).
Find the Contacts offered to an Agent for that day, and whether they accepted, missed, or declined the offers.
  • Filter the "Event Type" column for "CONTACT/OFFERED", "CONTACT/OFFER_ACCEPTED", and "CONTACT/OFFER_REJECTED". 
  • Filter the "Target Agent Name" (or "Target Agent ID") column for the Agent you're looking at. You will see the series of offers and their outcome. 
Be sure to consult the "Rejected Reason" column to see whether a Contact was declined, missed, or rejected due to an error.
Understand which Inboxes are receiving transfers.
  • Filter the "Event Type" column for "CONTACT/TRANSFERRED". 
  • Filter or sort by the "Transferred To Inbox Name" you're interested in. 
You may want to remove rows where the "Assigned Inbox Name" field is the same, to track movement from one Inbox to another (instead of movement within an Inbox).


Why are some Event Types not recorded before a certain date?

New types of events have been created over time, so you may not see events before the date they were added.

Was this article helpful?