Merge fields are how you dynamically merge record data from salesforce into something like an email template. Macros are a wonderful way to automate tasks that you repeat in your consoles. One weakness you might have run into is that macros do not support merge fields. So if you want to use macros to say... go to your email action on a case, pre-populate the addresses in a particular configuration, or overwrite the subject line to be something consistent (instead of “RE:Re:RE:Re:RE:Re A case subject | ref: as98dfs9-8a7dfasd98”), you are stuck with hardcoding a text string to serve as the value. And as much as we all love generic email subjects with no context, that isn't going to fly here.
What are you to do about this glaring limitation? Create an email template. It can be a simple template that just provides a Subject line with merge values, such as case number and the subject of the case. Put whatever you want in the body - frankly I like to just merge in the contact name here so that it gives you a head start on your email.
When you set up your macro, you can choose to use an email template and just like that, you have your merged fields. The best part? You can actually remove the body or the subject if you only need the merge fields for one of those locations. Additionally, you can choose to replace the text (as I would for the subject in this example), append it to the beginning of the text (as I would for a Name merge field in the body), or append it to the end of the text (such as the ref ID in the body). Play with this feature and you may find that macros are more useful than you thought for spinning up dynamic emails that will save your reps a bunch of time.
Don't forget to include the ref id in your template as it will not be added for you in this workaround. To do this, use the Case Thread ID merge field in the email template editor, and I do recommend putting it in the subject line as well as the body.