Dynamic variables are filled in with the contact's data when a message is prepared. If the contact is missing the information a variable needs, Crono does not send something incomplete — it stops and tells you.
What you will see
There are two warnings, depending on where you are:
On a task in the Tasks section, the task shows a Missing template variable warning.
When you send from the composer on a contact, you get Variable value missing, listing which variables have no value.
From the composer you can fix the data or choose to send anyway. An automated task will wait rather than send.
1. Fill in the missing data on the contact
The warning names the variable that has no value. Open the contact, fill the corresponding field, and the message resolves. This is the usual fix — most often a missing company name, job title or custom field on a contact that was imported without it.
2. Or remove the variable from that message
If the data genuinely is not available, edit the text for that one send and take the variable out. Editing a message from a task changes only that message, not the underlying template.
If the same variable keeps coming up empty across many contacts, the template is asking for data you do not reliably hold. Consider removing it from the template itself, or enriching those contacts first.
3. Check your CSV import
If the contacts came in from a CSV, a whole batch going wrong at once usually points at the file. Make sure your spreadsheet has separate columns for first name and last name, and that every column was mapped to the right Crono field during the import.
Checking before you send
To see how a message will actually look once variables are replaced — including a test email to yourself — see How to preview an email with dynamic variables.
If a task did not run and you are not sure a variable was the cause, A task did not run: what to check covers the other possibilities.