A dbt macro is a function written in Jinja, defined in the macros folder, that generates reusable SQL. It avoids copy-pasting the same logic into several models and is called like a function with {{ macro_name(arguments) }}.
Example
{% macro cents_en_euros(col) %}({{ col }} / 100.0){% endmacro %}