diff --git a/sqs/sqs.go b/sqs/sqs.go
index 2cb971edbdee3c58c9dbd49ff89b56dab11a0715..1260de16037fe5dfe0a2d5e4a65634b6a070c23f 100644
--- a/sqs/sqs.go
+++ b/sqs/sqs.go
@@ -49,7 +49,12 @@ func NewSQSMessenger(awsRegion, queueUrl string) (*Messenger, error) {
 // SendSQSMessage sends a message to the queue associated with the messenger
 // headers - string message attributes of the SQS message (see AWS SQS documentation)
 // body - body of the SQS message (see AWS SQS documentation)
-func (m *Messenger) SendSQSMessage(headers map[string]string, body string, currentRequestID *string, sqsType string, headerKey string, messageGroupID string) (string, error) {
+func (m *Messenger) SendSQSMessage(headers map[string]string, body string, currentRequestID *string, sqsType string, headerKey string, messageGroupID ...string) (string, error) {
+	msgGrpID := ""
+	if len(messageGroupID) > 0 && messageGroupID[0] != "" {
+		msgGrpID = messageGroupID[0]
+	}
+
 	msgAttrs := make(map[string]*sqs.MessageAttributeValue)
 
 	for key, val := range headers {
@@ -74,7 +79,7 @@ func (m *Messenger) SendSQSMessage(headers map[string]string, body string, curre
 
 	var res *sqs.SendMessageOutput
 	var err error
-	if messageGroupID == "" {
+	if msgGrpID == "" {
 		res, err = m.service.SendMessage(&sqs.SendMessageInput{
 			MessageAttributes: msgAttrs,
 			MessageBody:       aws.String(body),
@@ -85,7 +90,7 @@ func (m *Messenger) SendSQSMessage(headers map[string]string, body string, curre
 			MessageAttributes: msgAttrs,
 			MessageBody:       aws.String(body),
 			QueueUrl:          &m.queueURL,
-			MessageGroupId:    &messageGroupID,
+			MessageGroupId:    &msgGrpID,
 		})
 	}