Last updated on October 28th, 2025
Basic fields
The date and time that the email was sent or received.Example:
2018-07-06 13:55:00 UTCThe date and time that the email was sent or received, but in UNIX timestamp format. Useful for certain operations.Example:
1530885300The message ID for the email, as present in the header, according to RFC2822 standards. More information about RFC2822: https://tools.ietf.org/html/rfc2822Example:
<CAEdo3OgGCK5eY33+LWPmjts8AP22fHNr2rWv0avZ2y+Gw5joXA@mail.gmail.com>The message ID for the email that this email is replying to, as present in the header, according to RFC2822 standards. Useful for response analytics.Example:
<CAGyM1L+oHxX0EEEFsqZJTprGsEGT3zn8iheXtVWs_3y2K4qReA@mail.gmail.com>The primary email address for the tracked mailbox that sent or received the email.Example:
name@address.comThe Gmail User ID for the tracked mailbox. It should be used as the key component of any ‘user’ filter since User ID is unique and unchangeable.Example:
102114834148206491213The internal Gmail API message ID. Not to be confused with
rfc2822_message_id. All messages in Gmail must have one. This is only guaranteed to be unique for each gmail_user_id. This means two different gmail_user_id’s may have the same gmail_message_id for two different emails.Example: 1646fdffe8e69086The internal Gmail API thread ID for the thread that this email belongs to. A thread refers to a series of replied emails.Example:
164126138bf4bfe1The email subject line as seen in the email header.Example:
Re: about that emailThe visible address of the sender, matching the one you would see in your email client.Example:
name@address.comThe domain of the sender’s email address.Example:
address.comThe original address of the sender. This can be used to track or display real senders vs. aliases, and also to track different services able to impersonate addresses when sending emails. Possible values:
- If
fromis an alias: this address will be different thanfrom_address - If
fromis not an alias: this address will be the same asfrom_address
truename@trueaddress.comArray of all recipients for that message. It’s a repeated record that can contain several sub-rows.Example:
[{address: 'name1@test.com', name: 'name1', domain: 'test.com', type: 'to'}, {address: 'name2@test.com', name: 'name2', domain: 'test.com', type: 'cc'} ]The email address for each of the recipients for that message.Example:
name1@test.comThe domain for each of the recipients for that message.Example:
test.comA string indicating the type of the recipient. Possible values:
toccbcc
toAll the destination addresses in the ‘to’ field, separated by commas.Example:
name1@test.com, name2@test.comAll the destination addresses in the ‘cc’ field, separated by commas.Example:
name1@test.com, name2@test.comAll the destination addresses in the ‘bcc’ field, separated by commas.Example:
name1@test.com, name2@test.comArray of all addresses for that message. It’s a repeated record that can contain several sub-rows.Example:
[{address: 'name1@test.com', domain: 'test.com', direction: 'sender', type: 'from'}, {address: 'name2@test.com', domain: 'test.com', direction: 'recipient', type: 'cc'}]The email address for each of the addresses for that message.Example:
name1@test.comThe domain for each of the addresses for that message.Example:
test.comThe direction of the address for that message. Possible values:
senderrecipient
recipientA string indicating the type of the recipient. Possible values:
fromtoccbcc
toWhether this message is a direct message for the recipient’s (tracked) mailbox. Possible values:
TrueFalse
TrueWhether this message is a reply to another email or not. Possible values:
TrueFalse
TrueWhether this message is a forwarded email. This is determined based on the subject line starting with ’Fwd:’. Possible values:
TrueFalse
TrueWhether this message has been replied to. Possible values:
TrueFalse
FalseWhether this message is the first reply in the email conversation. Possible values:
TrueFalse
TrueSeveral metrics about the replies to an email. This will be NULL if the message has not been replied to.Example:
The email address of the person who replied to the email. This will be NULL if the message has not been replied to.Example:
name1@test.comDelegate account of who replied to the email. This will be NULL if the message has not been replied or if it was replied without a delegate account.Example:
delegate1@test.comThe difference between the time the email was originally received and the time of the reply in seconds. This will be NULL if the message has not been replied to.If you have business hours set up, this response time will only count the response time for your working hours period.Example:
56234The difference between the time the email was originally received and the time of the reply in seconds. This will be NULL if the message has not been replied to. This field reflects the total time the customer is waiting for the answer.Example:
56234The response time bucket (based on
reply_data.reply_time). This will be NULL if the message has not been replied to. Possible values:<24h24-48h48-72h<72h
<24hThe “order” of the
reply_data.reply_time_buckets. This will be NULL if the message has not been replied. It helps us to order the buckets properly in Looker Studio visualizations.Example: 1The SLA time bucket (based on reply_data.cwt_time). This will be NULL if the message has not been replied to. Values can change depending on the client’s set up.
Possible values:
<12 hours12 - 24 hours>24 hours
<24hThe “order” of the reply_data.reply_sla_buckets. This will be NULL if the message has not been replied. It helps us to order the buckets properly in Google Data Studio visualizations.Example:
1An index of the replies to a message. This will be NULL if the message has not been replied. The first reply is ‘1’, second reply ‘2’, and so on.Example:
1This field indicates if the email is the first message in the thread based on
gmail_message_id and gmail_thread_id fields. Possible values:True: if it is the first message in the conversation.False: if it is a reply to another message.
TrueWhether the email was marked as SPAM when Gmail first delivered the message. Possible values:
TrueFalse
FalseWhether or not external domains are involved in the email interaction. Possible values:
Internal: if all domains on the email are internal.External: if there is at least one domain that is not internal.
ExternalThe direction of the message for the tracked mailbox. Possible values:
ReceivedSent
ReceivedThis field indicates if the email was sent by a delegate through a delegated mailbox. If the field is null it means that the email was sent by the regular email account. Otherwise, it will contain the original address of the account that sent the email.Example:
name1@test.comWhether or not the email was sent from an automated service, based on information contained in the email header.Example:
AutomatedThis field indicates how many seconds old the message is at the time of the materialized query.Example:
42615Array of all labels applied to that email at the time of the materialized query.Example:
['RECEIVED', 'label_121']All the labels present in
gmail_message_labels. There can be none, hence the nullability. Remember that custom labels are present in the form of an ID.Example: label_121All the labels present in
gmail_message_labels. There can be none, hence the nullability. The label name associated with each label ID (not unique).Example: Richard’s LabelAll the labels present in
gmail_message_labels. There can be none, hence the nullability. The type defines whether the label is a gmail default label or it was created by the user. Possible values:system: if it’s a Gmail default label.user: if it’s a custom label defined by the user.
systemAll of the labels present in
gmail_message_labels, separated by commas.Example: INBOX, UNREAD, IMPORTANT, MGMT, TO-DOIndicates if the message was sent or received during the business hours.Example:
TrueThe recipient type of the primary address.Example:
Direct Messages (To)Indicates the total number of messages on the email’s thread.Example:
5If the email comes from a Google Group, this field will contain the group address.Example:
group@domain.comIf the email is excluded according to the backend filtering settings.Example:
TrueThis field indicates the department that the mailbox belongs to according to the backend data.Example:
Customer SuccessArray of all client groups for that message. It’s a repeated record that can contain several sub-rows.Example:
[{client_group: 'Tier 1', address: 'name1@test.com', domain: 'test.com', type: 'to'}, {client_group: 'Tier 2', address: 'name2@test.com', domain: 'test.com', type: 'from'} ]The name of the client group for each of the addresses/domains for that message.Example:
Tier 1The email address for each of the client group for that message.Example:
name1@test.comThe email domain for each of the client groups for that message.Example:
test.comThe type for each of the addresses for that message.Example:
toAttachment fields
The fields related to attachments aren’t included by default in our schema. If you’re interested in getting information related to attachments, please get in touch with your Business Intelligence Consultant to enable this.Array of all attachments for that message. It’s a repeated record that can contain several sub-rows. This will be NULL if there are no attachments.Example:
The filename of each attachment including its extension.Example:
Q4_Report.pdfThe MIME type of each attachment.Example:
application/pdfThe size of each attachment in bytes.Example:
2458624The file extension of each attachment.Example:
pdfIndicates if the attachment is inline. Possible values:
TrueFalse
False