GGU Lesson 2: Written Guide

This written guide for how to use and create keybindings & macros was created as an add-on to our video guide.  You will get the most benefit from having this guide up while watching the video guide, and as a quick reference to come back to later.  The corresponding video guide can be found here.

WTF are Macros, and Why should I know about them?

  • A macro is a list of slash commands. Common slash commands include:
    /say (/s)
    /whisper (/w, /talk, /t)
    /reply (/r)
    /emote (/e, /em, /me)
  • With macros, these commands can be used from action buttons, and many of them can be used at once. Each unique command goes on its own line and is written exactly as it would be typed it in the chat box.
  • Macros can be useful for a variety of reasons - some being more functional than others, and some being useful only in certain scenarios. They can also be used for roleplay or simply, fun.
  • Essentially, we use macros to reduce the amount of clicks or time we need to create a desired effect. If it reduces effort, time spent and potential errors, it increases the efficiency of our abilities and our gameplay.

What Can Macros do?

  • Most often, macros are created to use items or abilities. However, macros can also be used to send chat messages, equip gear, change class specializations, and adjust settings, among many, many other things.
  • A macro will execute all commands at once, unless it triggers a GCD.

What Can’t Macros do?

  • They can't cast spells based on cooldown, or check if a buff is active, or magically fit all your abilities onto one button.
  • Macros cannot be any longer than 255 characters, unless you use an addon to circumvent this limit.
  • Macros cannot circumvent the global cooldown to use more than one item or ability at a time. There are some exceptions, but this is the general rule.
  • Macros cannot simulate additional keypresses. One keypress = one action.
  • Macros cannot include a delay for most commands. Certain commands (ie chat) can be delayed with an addon.

Making a Macro 

  • Open your game menu and press Macros
  • A menu will open with two tabs (General Macros & Character Specific), a series of slots and a text box with nearby buttons - near the bottom is the New button, press that to being creating a macro
  • A new larger window will appear with a sheet of icons and a small text box to name your new macro. These can be changed later. Once a macro is created this menu will close.
  • Your newly created macro will now appear in the main macro menu, highlighted and ready to begin editing in the text box underneath Enter Macro Commands
  • Try typing a simple command such as
    /s Test
  • Click the Save button
  • Now drag the finished macro from the menu onto your hotbar, where it can either be key-bound or mouse-clicked to take effect. The above macro should cause your character to simply say “Test”
  • It’s important to remember that the macro commands are finicky and are case sensitive, if a macro isn’t working, you might have a typo. For instance; /cast rainoffire wouldn’t work, but /cast Rain of Fire would.
  • Commands should all be in lowercase (/say, /cast etc.), and ability names should have proper capitalization. (Ice Block, Rain of Fire)

OK, now how can I actually use these?

  • Gamepedia has a list of commands that can be referenced for creating your own custom macros. We’ll go over some of the more basic ones here.
  • /cast Spell Name - can be used to insert a spell or ability into a macro, this in combination with other modifiers or conditionals can be used to create useful - although situational - macros
  • /target Target Name - can be used in conjunction with other macros or on its own in order to target a specific target. This can be useful for quickly targeting a priority add on a fight. There are many variations of this command as well which can be used for different purposes. /targettarget will target your target’s target for instance. /targetexact will target ONLY that specific target, as opposed to /target’s closest match function. /targetlasttarget will select your previous target if it’s available.
  • /assist Target Name is another sort of targeting command that can be useful in groups. It will cause you to target your target’s target.
  • /cancelaura Aura Name - can be used to quickly remove certain buffs from yourself when activated. These are useful in specific scenarios where maintaining a buff would be detrimental - for instance, Blessing of Protection - for longer than needed or necessary. They can also be used as a means of re-positioning certain abilities (I’m looking at you Demonic Circle)
  • /use Item Name or Inventory Slot - can be used to activate an item or trinket. This is almost identical to /cast in its use.
  • Your Equipped Inventory Slots are numbered.
  • These can be used in conjunction with /cast to reduce the number of buttons you need to keybind and press in combat. For instance, if you want to use a trinket in the first slot in combination with a cooldown, you would create a macro saying
    /use 13
    /cast Arcane Power
  • If the trinket is off cooldown, it will cast both, if the trinket is on cooldown or vise-versa it would cast whichever is available.

Conditional Commands

Gamepedia has a list of conditional commands that can be referenced to further modify your macros for certain uses. These are, for example, how mouseover macros are created. We’ll go over some of the more common uses of them here.

Conditionals are a way to extend the macro interface. They allow limited decision-making to macros; be aware that they are limited.

  • First off, it’s useful to know where in the command line these should be entered. Conditionals are entered after the slash command, but before the -to be modified- abilty’s name. Multiple conditionals can be used as well.
    Ex. /cast [@mouseover, exists] Flash Heal
  • [@mouseover] - is largely applicable to healing spells, but can be used for offensive casting as well, such as dots. A mouseover condition modifies the conditional target to the unit the mouse is over. For instance, if your cursor lies over a target in the field, or even their unitframe, they will be selected for the cast.
  • [@cursor] - similar to mouseover, cursor will cast an ability where your cursor is currently set. This can be used for certain AoE spells with targeting reticles to bypass having to select the area it is cast. This can save some time when in the thick of combat. /cast [@cursor] AoE Spell
  • [@exists] - This will check to see if your target exists. This is used to prevent a cast from going off where it wouldn’t be useful.
    [@harm] & [@help] - These will check if your target exists, and can either targeted by harmful spells or helpful spells
  • [@focus] - Will designate the ability to your focus target. This is a fairly useful condition with a lot of general purposes.


  • #show - this is used in conjunctions with the “?” Icon. The game will smart-select an appropriate icon. Good if you don’t want to spend time scrolling through pages of icons.
  • #showtooltip - similar to the above command, it will affect what icon is selected, however this will display an appropriately named ability’s tooltip when you mouseover it.

Sample Macros
Let’s create some template macros which can be built upon later.
You will need to insert the appropriate ability name where necessary.

Simple Cast/Use Macro (Useful for lining up CDs off the GCD)
/cast Spell Name
/cast Spell Name

  • PopAllCDs
    /cast Avatar
    /cast Bloodbath
    /cast Battlecry
    /use 13
    /use 14

Simple Cancelaura Macro
/cancelaura Spell Name
Demonic Circle Placer (This one allows you to place Demonic Circle again)
/cancelaura Demonic Circle
/cast Demonic Circle

Simple Focus Macro
/cast [@focus] Spell Name
Ensnare Focus
/cast [@focus] Throw Glaive

Simple Target Macro
/target Target Name
/cast Spell Name
Priority Havoc
/targetexact Shadow of Varimathras
/cast Havoc

Simple @Cursor Macro (Good for AoE spells with a targeting reticle)
/cast [@cursor] Spell Name
Instant Blizzard
/cast [@cursor] Blizzard

Simple @Mouseover Macro (Good for healing and battle rez)
/cast [@mouseover, exists] Spell Name
MO Heal
/cast [@mouseover, exists] Heal

Simple @Player Macro (Good for self targeting without having to re-target)
/cast [@player] Spell Name
Speed Boost
/cast [@player] Tiger’s Lust

I’m seeing a lot of things, and not really understanding any of it.
Right. Now we should know what a macro is…

  • A list of slash commands
  • With conditions, if applied
  • Set to work with a specific Ability, Spell, Item or Target

These are really the questions you should have in mind when creating a macro.

  • What do I want my macro to do?
  • Why would it be useful?
  • When & Where should it be used?

By familiarizing yourself with the commands and conditions, you will be able to create more complex macros that would be more useful to you - until then, stick with the basics. A more in-depth guide can be located at Gamepedia-Making a Macro
where most of the information here was obtained.
Macro Explain is a useful resource which breaks down macro syntax into plain English. If you’re having trouble forming macros or understand what they do - this website can help.