diff --git a/bigbluebutton-html5/imports/startup/server/redis.js b/bigbluebutton-html5/imports/startup/server/redis.js
index 6e4cac83bdc916712ffeeebd267db85a7d9b8d5d..870ad3d7052890661453756df2acbce47a2fd9a5 100755
--- a/bigbluebutton-html5/imports/startup/server/redis.js
+++ b/bigbluebutton-html5/imports/startup/server/redis.js
@@ -2,12 +2,11 @@
 import Redis from 'redis';
 import { Meteor } from 'meteor/meteor';
 import { EventEmitter2 } from 'eventemitter2';
+import { check } from 'meteor/check';
 import {
   isPadMessage,
   getInstanceIdFromPadMessage,
 } from './etherpad';
-import { check } from 'meteor/check';
-import fs from 'fs';
 import Logger from './logger';
 import Metrics from './metrics';
 
@@ -101,6 +100,9 @@ class MeetingMessageQueue {
 
     try {
       if (this.redisDebugEnabled) {
+        if (!Meteor.settings.private.analytics.includeChat && eventName === 'GroupChatMessageBroadcastEvtMsg') {
+          return;
+        }
         Logger.debug(`Redis: ${JSON.stringify(data.parsedMessage.core)} emitted`);
       }
 
@@ -172,7 +174,6 @@ class RedisPubSub {
 
     channelsToSubscribe.push(this.customRedisChannel);
 
-
     switch (this.role) {
       case 'frontend':
         this.sub.psubscribe('from-akka-apps-frontend-redis-channel');
@@ -252,19 +253,17 @@ class RedisPubSub {
     if (this.role === 'frontend') {
       // receiving this message means we need to look at it. Frontends do not have instanceId.
       if (meetingIdFromMessageCoreHeader === NO_MEETING_ID) { // if this is a system message
-
         if (eventName === 'MeetingCreatedEvtMsg' || eventName === 'SyncGetMeetingInfoRespMsg') {
           const meetingIdFromMessageMeetingProp = parsedMessage.core.body.props.meetingProp.intId;
           this.meetingsQueues[meetingIdFromMessageMeetingProp] = new MeetingMessageQueue(this.emitter, async, this.redisDebugEnabled);
           if (this.redisDebugEnabled) {
             Logger.warn('Created frontend queue for meeting', { date: new Date().toISOString(), eventName, meetingIdFromMessageMeetingProp });
           }
-
         }
       }
 
       if (!this.meetingsQueues[meetingIdFromMessageCoreHeader]) {
-        Logger.warn(`Frontend meeting queue had not been initialized   ${message}`, { eventName, meetingIdFromMessageCoreHeader} )
+        Logger.warn(`Frontend meeting queue had not been initialized   ${message}`, { eventName, meetingIdFromMessageCoreHeader });
         this.meetingsQueues[NO_MEETING_ID].add({
           pattern,
           channel,
@@ -307,11 +306,11 @@ class RedisPubSub {
             const meetingIdForMeetingEnded = parsedMessage.core.body.meetingId;
             if (!!this.meetingsQueues[meetingIdForMeetingEnded]) {
               this.meetingsQueues[NO_MEETING_ID].add({
-              pattern,
-              channel,
-              eventName,
-              parsedMessage,
-            });
+                pattern,
+                channel,
+                eventName,
+                parsedMessage,
+              });
             }
           }
           // ignore
@@ -335,7 +334,6 @@ class RedisPubSub {
     }
   }
 
-
   destroyMeetingQueue(id) {
     delete this.meetingsQueues[id];
   }
diff --git a/bigbluebutton-html5/private/config/settings.yml b/bigbluebutton-html5/private/config/settings.yml
index 0ecd0abb1c0018d5fa0194668ff19215617fead7..84ed767981d386885a3cf678040236ad787d9734 100755
--- a/bigbluebutton-html5/private/config/settings.yml
+++ b/bigbluebutton-html5/private/config/settings.yml
@@ -608,6 +608,8 @@ public:
       flushOnClose: true
       logTag: ''
 private:
+  analytics:
+    includeChat: true
   app:
     host: 127.0.0.1
     localesUrl: /locale-list