There are several reasons why variables don't work:
If your role variables don't populate check that the recipient's information exists in PandaDoc Contacts;
Check whether your variable(s) have special characters. We support only periods (.) and underscores (_);
Variables cannot be added to pricing table fields that only accept numerals. (i.e. Price, QTY fields in a Pricing table);
Variables will only work on a document body. They will not work in the document name, saved messages, or email subject/body.
Please find more information on variables here.