Hi William,
Folder-level tokens are great for providing consistency across programs - in usage and/or values.
Since the tokens will be inherited in all the programs inside the folder, a campaign creator doesn't need to think about creating each necessary token from scratch on a new program, but merely updating the token values. You can use a placeholder value to prompt the campaign creator to update the token value and follow any guidelines. For example, if your organization's analytics needs require that each program has a unique tracking code appended onto all link urls, you could create a folder-level Text token with the value "enter the tracking code in the format xyz".
Consistency in the names of the tokens - because they're inherited from the folder- can make it easier to document and understand how they're used. If program tokens (not just system or person tokens) are leveraged in the email templates or snippets, the exact naming is critical - the token will not work if it says {{my.awesometoken}} in the template and {{my.supertoken}} in the program.
Sometimes the format of system tokens doesn't quite meet your needs, and you can use top-level folder tokens as a workaround. For example, if you want an auto-updating copyright year, the system token has only the full date. On the top-level folder, use an Email Script token type with this value (and then do not edit the value on the program - just leave the inherited value):
## replace "CST" with your timezone to capture exact New Year's Day changes!
#set( $timeZoneObject = $date.getCalendar().getTimeZone() )
#set( $currentYear = $date.format("yyyy", $date.getDate(), $date.getLocale(), $timeZoneObject.getTimeZone("CST") ) )
${currentYear}
When a token is inherited, you can change the value on the original (e.g. folder-level) token and the new value will flow down to the programs. Keep in mind that once you override or delete an inherited token, you can't re-inherit it. This means that any updates to the value of the original (higher-level) token will no longer flow down to it, even if you recreate the token with the value it had originally inherited.
While (inherited or local) tokens can exist on a program without actually being used/referenced within the email asset, I would caution against adding too many inherited tokens. It could create confusion about the use cases and be messy to manage.
Hope this gives you some ideas!
... View more