How JSON message delivery works

Unlike plain text, JSON organizes information into structured fields. This lets other tools read each piece of data separately and use it in automations.

Example of a message configured in Reportei as text:

Message:

Hello! Good afternoon!
📊 Results Summary – Reportei
Analysis period: August 19, 2025 to August 19, 2025


🔹 Google Ads - Reportei

CTR : 2,41% (31,68%)
Average CPC : R$1,33 (-9,41%)
Conversions : 2,00 (0%)

🔹 Google Analytics 4 - Reportei - GA4

Engagement rate : 60,42% (-2,29%)
Average Engagement Time per User : 00:01:23 (11,57%)
Key Event : 118,00 (24,21%)

🔹 Meta Ads - Reportei

Amount spent : R$207,16 (-26,68%)
Total Reach : 42.805,00 (-27,97%)
Total Impressions : 57.423,00 (-26,70%)

Example JSON structure

A JSON payload for these types of metrics looks like this (the sample values below differ from the text example):

{
"fb_ads:spend(act_383886488770066)": {
"values": "3963",
"comparison": {
"values": "3441.21",
"difference": 15.162980463267274,
"absoluteDifference": 521.79
}
},
"[variation]fb_ads:spend(act_383886488770066)": {
"values": "3963",
"comparison": {
"values": "3441.21",
"difference": 15.162980463267274,
"absoluteDifference": 521.79
}
},
"fb_ads:reach(act_383886488770066)": {
"values": "173869",
"comparison": {
"values": "112945",
"difference": 53.9412988622781,
"absoluteDifference": 60924
}
},
"[variation]fb_ads:reach(act_383886488770066)": {
"values": "173869",
"comparison": {
"values": "112945",
"difference": 53.9412988622781,
"absoluteDifference": 60924
}
},
"fb_ads:impressions(act_383886488770066)": {
"values": "561774",
"comparison": {
"values": "405653",
"difference": 38.4863417748667,
"absoluteDifference": 156121
}
},
"[variation]fb_ads:impressions(act_383886488770066)": {
"values": "561774",
"comparison": {
"values": "405653",
"difference": 38.4863417748667,
"absoluteDifference": 156121
}
},
"google_analytics_4:engagement_rate(338565990)": {
"values": "0.55308789613052023",
"comparison": {
"values": "0.56901017576318225",
"difference": -2.798241632727624,
"absoluteDifference": -0.015922279632662018
}
},
"[variation]google_analytics_4:engagement_rate(338565990)": {
"values": "0.55308789613052023",
"comparison": {
"values": "0.56901017576318225",
"difference": -2.798241632727624,
"absoluteDifference": -0.015922279632662018
}
},
"google_analytics_4:average_engagement_time(338565990)": {
"values": "80.913820811570915",
"comparison": {
"values": "76.335936410542459",
"difference": 5.997023965761187,
"absoluteDifference": 4.577884401028456
}
},
"[variation]google_analytics_4:average_engagement_time(338565990)": {
"values": "80.913820811570915",
"comparison": {
"values": "76.335936410542459",
"difference": 5.997023965761187,
"absoluteDifference": 4.577884401028456
}
},
"google_analytics_4:conversions_count(338565990)": {
"values": "1940",
"comparison": {
"values": "1632",
"difference": 18.872549019607845,
"absoluteDifference": 308
}
},
"[variation]google_analytics_4:conversions_count(338565990)": {
"values": "1940",
"comparison": {
"values": "1632",
"difference": 18.872549019607845,
"absoluteDifference": 308
}
},
"gads:ctr(1755373868-5595071219)": {
"values": 0.025148783837534803,
"comparison": {
"values": 0.030364372469635626,
"difference": -17.17667189505204,
"absoluteDifference": -0.005215588632100823
}
},
"[variation]gads:ctr(1755373868-5595071219)": {
"values": 0.025148783837534803,
"comparison": {
"values": 0.030364372469635626,
"difference": -17.17667189505204,
"absoluteDifference": -0.005215588632100823
}
},
"gads:average_cpc(1755373868-5595071219)": {
"values": 0.8705458848105043,
"comparison": {
"values": 1.0606967460890493,
"difference": -17.926976959216688,
"absoluteDifference": -0.19015086127854497
}
},
"[variation]gads:average_cpc(1755373868-5595071219)": {
"values": 0.8705458848105043,
"comparison": {
"values": 1.0606967460890493,
"difference": -17.926976959216688,
"absoluteDifference": -0.19015086127854497
}
},
"gads:conversions(1755373868-5595071219)": {
"values": 24,
"comparison": {
"values": 35,
"difference": -31.42857142857143,
"absoluteDifference": -11
}
},
"[variation]gads:conversions(1755373868-5595071219)": {
"values": 24,
"comparison": {
"values": 35,
"difference": -31.42857142857143,
"absoluteDifference": -11
}
},
"message": "Hello! Good afternoon!\r\n 📊 *Results Summary* – :name\r\n*Analysis period*: :period\r\n\r\n \r\n🔹 *Google Ads - Reportei* \r\n\r\n*CTR* : :gads:ctr(1755373868-5595071219) (:[variation]gads:ctr(1755373868-5595071219))\r\n*Average CPC* : :gads:average_cpc(1755373868-5595071219) (:[variation]gads:average_cpc(1755373868-5595071219))\r\n*Conversions* : :gads:conversions(1755373868-5595071219) (:[variation]gads:conversions(1755373868-5595071219))\r\n\r\n🔹 *Google Analytics 4 - Reportei - GA4* \r\n\r\n*Engagement rate* : :google_analytics_4:engagement_rate(338565990) (:[variation]google_analytics_4:engagement_rate(338565990))\r\n*Average Engagement Time per User* : :google_analytics_4:average_engagement_time(338565990) (:[variation]google_analytics_4:average_engagement_time(338565990))\r\n*Key Event* : :google_analytics_4:conversions_count(338565990) (:[variation]google_analytics_4:conversions_count(338565990))\r\n\r\n🔹 *Meta Ads - Reportei* \r\n\r\n*Amount spent* : :fb_ads:spend(act_383886488770066) (:[variation]fb_ads:spend(act_383886488770066))\r\n*Total Reach* : :fb_ads:reach(act_383886488770066) (:[variation]fb_ads:reach(act_383886488770066))\r\n*Total Impressions* : :fb_ads:impressions(act_383886488770066) (:[variation]fb_ads:impressions(act_383886488770066))",
"name": "Reportei",
"period": {
"start": "2025-07-01",
"end": "2025-07-31"
},
"comparison_period": {
"start": "2025-06-01",
"end": "2025-06-30"
}
}

In JSON, each metric, such as CTR, CPC, or Conversions, and its comparison values are stored in separate fields.


Which format should I choose?

  • Text: sends the entire formatted message at once. Use Text when you only need to forward a ready-to-read message.
  • JSON: sends structured fields for more customization and automation in external tools. Use JSON when you need to process or reuse the data in automations.

Our Support team is here to help if you have questions!

Was this article helpful?00