A macro is an isolated text template fragment defined for repetitive tasks. It may be defined in:

The name of the macro must be unique within its container (text template or library). It may define expected parameters, used to compute the generated contents.

A macro can be seen as a user-defined TGL directive. It is called from TGL code using a directive-like syntax.

Note: a macro is an advanced concept that most of users won't have to consider.

Related reference
Macro directive