diff --git a/groupChat/receive.go b/groupChat/receive.go
index 004f7f370224c7df6368705f86b5f33eb4a3e2fd..68101f8a25ecc992b64b803a9b733379dc1758b1 100644
--- a/groupChat/receive.go
+++ b/groupChat/receive.go
@@ -8,6 +8,8 @@
 package groupChat
 
 import (
+	"encoding/base64"
+	"encoding/json"
 	"fmt"
 	"gitlab.com/xx_network/primitives/netTime"
 	"time"
@@ -113,6 +115,16 @@ func decryptMessage(g gs.Group, fingerprint format.Fingerprint,
 		return MessageReceive{}, errors.Errorf(unmarshalSenderIdErr, err)
 	}
 
+	mar, _ := json.Marshal(NewPublicInternalMessage_DeleteThis(intlMsg))
+
+	jww.INFO.Printf("GROUP MSG ID DEBUG (decryptMsg): "+
+		"senders group ID: %s, "+
+		"internalMessage: %s"+
+		"internalMessage: %s",
+		g.ID,
+		base64.StdEncoding.EncodeToString(intlMsg.Marshal()),
+		string(mar))
+
 	return MessageReceive{
 		ID:        group.NewMessageID(g.ID, intlMsg.Marshal()),
 		Payload:   intlMsg.GetPayload(),
diff --git a/groupChat/send.go b/groupChat/send.go
index 8407439f5abc884be387af876d8ce67f7d4ca665..b4cfb10837a71f4719622bebc4654f0469caf0fc 100644
--- a/groupChat/send.go
+++ b/groupChat/send.go
@@ -8,6 +8,8 @@
 package groupChat
 
 import (
+	"encoding/base64"
+	"encoding/json"
 	"github.com/pkg/errors"
 	jww "github.com/spf13/jwalterweatherman"
 	"gitlab.com/elixxir/client/cmix"
@@ -176,6 +178,27 @@ func newCmixMsg(g gs.Group, tag string, msg []byte, timestamp time.Time,
 	return cmixMsg, nil
 }
 
+// PublicInternalMessage_DeleteThis so internalMsg could be json marshalled for legibility
+// in a debug ticket.
+type PublicInternalMessage_DeleteThis struct {
+	Data      []byte // Serial of all the parts of the message
+	Timestamp []byte // 64-bit Unix time timestamp stored in nanoseconds
+	SenderID  []byte // 264-bit sender ID
+	Size      []byte // Size of the payload
+	Payload   []byte // Message contents
+
+}
+
+func NewPublicInternalMessage_DeleteThis(msg internalMsg) *PublicInternalMessage_DeleteThis {
+	return &PublicInternalMessage_DeleteThis{
+		Data:      msg.data,
+		Timestamp: msg.timestamp,
+		SenderID:  msg.senderID,
+		Size:      msg.size,
+		Payload:   msg.payload,
+	}
+}
+
 // getGroupMessageId builds the group message ID.
 func getGroupMessageId(grp *cyclic.Group, groupId, senderId *id.ID,
 	timestamp time.Time, msg []byte) (group.MessageID, error) {
@@ -185,8 +208,19 @@ func getGroupMessageId(grp *cyclic.Group, groupId, senderId *id.ID,
 		return group.MessageID{}, errors.WithMessage(err,
 			"Failed to make message parts for message ID")
 	}
-	return group.NewMessageID(groupId,
-		setInternalPayload(intlMsg, timestamp, senderId, msg)), nil
+
+	intlMsgMarshal := setInternalPayload(intlMsg, timestamp, senderId, msg)
+
+	mar, _ := json.Marshal(NewPublicInternalMessage_DeleteThis(intlMsg))
+	jww.INFO.Printf("GROUP MSG ID DEBUG (getGroupMsgId): "+
+		"senders group ID: %s, "+
+		"internalMessage: %s"+
+		"internalMessage: %s",
+		groupId,
+		base64.StdEncoding.EncodeToString(intlMsgMarshal),
+		string(mar))
+
+	return group.NewMessageID(groupId, intlMsgMarshal), nil
 }
 
 // newMessageParts generates a public payload message and the internal payload