The Analytics Center gives your team direct access to structured data about your WhatsApp sessions and campaign deployments. Instead of relying on manual reports or support tickets, you can now explore your own data to answer key questions about campaign performance, user behavior, and operational efficiency.

Sessions and Deployments are two clean and well-documented tables accessible through a new tab on the Treble platform. These tables contain the foundational data needed to build your own dashboards, track results, and make faster, more informed decisions.

What is a Session?

A session is a Treble-defined period of interaction, distinct from the 24-hour customer-service window enforced by WhatsApp Business. It begins when a user sends or receives a message that triggers a conversation in Treble and ends when one of these events occurs:

  • The conversation is redirected to another flow
  • The session is closed after a set period of inactivity
  • An agent closes it manually
  • The flow, also known as a conversation or poll, is overwritten
  • When another flow, also known as a conversation or poll, is sent to the user

If the user returns after a session has ended, their new interaction will appear as a separate session.

Sessions capture the full context of a user’s engagement during that time. This includes automation, agent interactions, and metadata from marketing sources. They are the core unit for analyzing behavior, measuring flow performance, and understanding how users interact with your campaigns.

Session Table:

  1. Session ID: {{session_id}} A unique ID that identifies each individual session. A session is a continuous period of interaction between a user and the WhatsApp communication triggered through Treble. It begins when the user sends or receives a message that initiates a conversation and ends when the session is redirected, closed due to inactivity, or manually closed by an agent. If the user returns later, a new session will be created.
  2. Parent Session ID: {{parent_session_id}} The unique ID of the previous session when the current session was triggered by a redirection. This typically happens when a user is redirected from one conversation flow (poll) to another.
  3. Session Started Timestamp: {{session_started_timestamp}} The date and time when the current session with the user began.
  4. Session Finished Timestamp: {{session_finished_timestamp}} The date and time when the session with the user ended.
  5. Session Type: {{session_type}} The session type indicates how the conversation started. It can be:
    • Outbound: The session was initiated by an automated campaign sent from Treble as part of a proactive engagement strategy.
    • Inbound: The session was initiated by the user, who messaged first without having recently received a message from Treble.
  6. Session Status: {{session_status}} The Session Status indicates the current stage or condition of a conversation within a session in Treble. This status helps understand how the user interaction is progressing and who is managing the conversation. Possible values include:
    • BOT: The conversation is being handled by an automated flow (bot). The user interacts with predefined responses without human intervention.
    • AGENTS: The conversation has been transferred to a human agent. This typically occurs when the bot cannot resolve the user’s query or when more personalized attention is needed.
    • RATING: The session has concluded, and the user has been prompted to provide a rating or feedback about their experience. This status is useful for assessing customer satisfaction and service effectiveness.
  7. Conversation ID: {{conversation_id}} Unique identifier of the flow or poll where the session took place. This ID links the session to the specific conversation the user interacted with.
  8. Conversation Version: {{conversation_version}} Version number of the flow or poll where the session took place. This helps identify exactly which version of the conversation was active during the user’s interaction.
  9. User Country Code: {{user_country_code}} International dialing code corresponding to the phone number of the user in the session. This helps identify the country the user’s number originates from.
  10. User Cellphone: {{user_cellphone}} WhatsApp phone number of the user who participated in the session. This number is used to send and receive messages during the conversation.
  11. Line/WhatsApp Number: {{line_whatsapp_number}} The phone number of the WhatsApp Business line used to communicate with the user. This is the number from which messages were sent and received during the session.
  12. Line/WhatsApp Display Name: {{line_whatsapp_display_name}} Display name configured for the WhatsApp Business line used during the session. This is the name shown to the user as the sender in the conversation.
  13. First Message Timestamp: {{first_message_timestamp}} Date and time when the first message from the user was received during the session.
  14. First Message: {{first_message}} Content of the first message sent by the user during the session. This will only appear if the message was a text message.
  15. Last Message Timestamp: {{last_message_timestamp}} Date and time when the user sent their last message during the session
  16. Last Message: {{last_message}} Content of the last message sent by the user during the session. This will only appear if the message was a text message.
  17. Last Node ID: {{last_node_id}} Identifier of the last conversation flow node reached by the user during the session. This helps determine how far the user progressed in the experience.
  18. Meta Source URL: {{meta_source_url}} URL of the Meta Ad or post that triggered the session via a click-to-WhatsApp interaction. This field will be empty if the session was not initiated from such an ad.
  19. Meta Source Type: {{meta_source_type}} Type of Meta content that triggered the session via a click-to-WhatsApp interaction. It can be either an Ad or a Post. This field will be empty if the session was not initiated from such content.
  20. Meta Source ID: {{meta_source_id}} Unique identifier of the Meta Ad or post that triggered the session via a click-to-WhatsApp. This field will be empty if the session did not originate from such content.
  21. Meta Source Headline: {{meta_source_headline}} Headline text of the Meta Ad or post that triggered the session via a click-to-WhatsApp. This field will be empty if the session was not initiated from such content.
  22. Meta Source Body: {{meta_source_body}} Body text of the Meta Ad or post that triggered the session via a click-to-WhatsApp. This field will be empty if the session did not originate from such content.
  23. Meta Source Media Type: {{meta_source_media_type}} Type of media used in the Meta Ad or post that triggered the session via a click-to-WhatsApp. It can be either Image or Video. This field will be empty if the session did not originate from such content.
  24. Meta Source Media URL: {{meta_source_media_url}} URL linking to the image or video file used in the Meta Ad or post that triggered the session via a click-to-WhatsApp. This field will be empty if the session did not originate from such content.
  25. Meta Source Thumbnail URL: {{meta_source_thumbnail_url}} URL of the thumbnail for the media (image or video) used in the Meta Ad or post that triggered the session via a click-to-WhatsApp. This field will be empty if the session did not originate from such content.
  26. WhatsApp Link Campaign Name: {{whatsapp_link_campaign_name}} Name of the campaign associated with the WhatsApp link the user clicked to start the conversation. This field helps identify the specific promotional source when Treble’s WhatsApp Link feature is used and the conversation originated from this source.
  27. WhatsApp Link Campaign Source: {{whatsapp_link_campaign_source}} Platform or channel where the WhatsApp campaign link was used and activated by the user. This can include sources like Instagram, Facebook, or Google. This field will only have a value if the conversation originated from a link created using Treble’s WhatsApp link feature.

What is a Deployment?

A deployment represents an attempt to initiate a WhatsApp conversation with a user through an outbound campaign. Each deployment is a record of when a message was scheduled to be sent, whether it was successfully delivered, and any resulting session it created.

Deployments allow you to track how and when users were targeted, whether messages were delivered, and how those messages connected to downstream user interactions. If a deployment results in user engagement, it will be linked to a corresponding session.

Deployments Table:

  1. Conversation ID: {{conversation_id}} Unique identifier of the conversation (also referred to as the flow or poll) used in the deployment. This ID links the deployment to the specific conversation that was sent to the user.
  2. Conversation Version: {{conversation_version}} Version number of the flow or poll where the session took place. This helps identify exactly which version of the conversation was active during the user’s interaction.
  3. User Country Code: {{user_country_code}} International dialing code of the user’s phone number to which the deployment was sent. This indicates the country associated with the recipient’s number.
  4. User Cellphone: {{user_cellphone}} WhatsApp phone number of the user targeted by the deployment. This is the number to which the message was intended to be delivered.
  5. Deployment Start Timestamp: {{deployment_timestamp}} Timestamp indicating when the deployment was initiated. This marks the scheduled time the message was intended to be sent to the user.
  6. Deployment Status: {{delivery_status}} The status of the deployment. Possible values are:
    • In Process: The message is currently being sent.
    • Delivered: The message was successfully delivered to the user.
    • Failed: The message could not be delivered due to an error.
  7. Status Detail: {{status_detail}} Specific reason why the deployment failed. This field provides details about the error that prevented the message from being delivered.
  8. Deployment Delivered Timestamp: {{deployment_delivered_timestamp}} Timestamp indicating when the deployment was successfully delivered to the user. This field is only populated if the delivery was successful.
  9. Session ID: {{session_id}} The ID assigned to the session that was created when the deployment was successfully delivered to the user. A session is a continuous period of interaction between the user and the WhatsApp communication triggered by Treble. If the deployment failed or is still in process, no session ID will be generated.

When to use each Table?

Below you will find suggestions and ideas to help you use these foundational tables.

How to Use the Sessions Table

Measure drop-off points in a flow

  • Filter sessions by Conversation ID and Conversation Version, then group by Last Node ID to see where users leave the flow most often. This reveals friction points and helps you redesign specific nodes or quick-reply options.

Evaluate campaign attribution from Meta ads

  • Focus on rows where Meta Source ID is not null. Group by Meta Source Type and Meta Source ID to see which ads or posts launch the most sessions and how long those sessions last. Add ROAS by matching ad spend from Meta.

Calculate average session duration and engagement trend

  • Subtract Session Started Timestamp from Session Finished Timestamp for each row, then average by day or week. A rising duration can indicate deeper engagement; a sudden drop may signal UI issues or template fatigue.

Build a user retention funnel

  • Because each return visit creates a new session, you can stitch sessions by User Cellphone and measure day-1, day-7, or day-30 return rates. This shows whether conversation design changes drive repeat engagement.

Identify high-value inbound sources

  • Filter for Inbound sessions and group by WhatsApp Link Campaign Source or by non-null Meta fields. Compare conversion events (stored elsewhere) to understand which organic or paid channels bring the most qualified traffic.

How to Use the Deployments Table

Monitor delivery success rate

  • Divide the count of rows where Deployment Status is Delivered by the total rows for the same period. Break it down by conversation, country, or deployment start timestamp to catch quality or compliance issues early.

Diagnose failure patterns

  • Aggregate rows with Deployment Status = Failed and group by Failure Reason. This helps you refine segmentation, copy, or template approvals.

Attribute sessions to outbound campaigns

  • Join Deployments to Sessions on Session ID (where status = Delivered) to see which outbound sends actually spark conversations, and how long those conversations last.

Compare performance across countries or segments

  • Group by User Country Code or custom audience tags you store elsewhere, then compute delivery rate, click-through (sessions created), and eventual conversion metrics. This guides budget allocation for future sends.

Frequently Asked Questions?

  1. How often is the data refreshed?

Foundational tables are updated every three hours. In other words, any new sessions or deployments can appear in your queries with up to a three-hour delay.

  1. Which timezone are timestamps stored in?

All timestamps are stored in UTC. Convert to your local timezone in downstream tools if needed.

  1. How far back does the data go?

The Analytics Center retains a rolling 30 days of data, which means that you won’t be able to query events older than 30 days.

  1. What exactly starts and ends a session?

A session starts when a message (inbound or outbound) triggers a conversation and ends when it is redirected to another flow, closed after inactivity, or manually closed by an agent. If the user returns afterward, a new session is created.

  1. When is Parent Session ID populated?

Only when a session is created through a Redirection. The field contains the ID of the previous session, allowing you to follow the user’s path across multiple flows. For all other session types the field is empty.

  1. How do I join Deployments to Sessions?

Use the Session ID present in the Deployments table (rows where Deployment Status = Delivered). This lets you connect an outbound attempt to the session it generated.

  1. Why are some Meta Source fields empty?

The Meta attribution columns (Meta Source URL, Meta Source Type, etc.) are filled only when the session was initiated by a Click-to-WhatsApp ad. For inbound messages that originate elsewhere, these fields remain null.

  1. What about media messages?

The First Message and Last Message fields store text only. If the first or last interaction is a media type (image, audio, video, sticker), the text field will be blank; rely on timestamps to know when it occurred.

  1. Can I calculate funnel or conversion metrics with just these two tables?

Yes. Use the Sessions table to measure entry and drop-off points within flows, then join to Deployments to attribute those behaviors back to specific outbound campaigns.