If your content is anything more complex than a literal value, you need to switch to filtered transclusion. The docs include an example of a template used to transclude filter results (spaces added below for clarity):
{{{ [tag[mechanism]] || TemplateTitle }}}
You can do the same with a single variable by using the filter syntax for variables:
{{{ [<content>] || TemplateTitle }}}
This short form can be convenient, but there are also alternatives:
<$tiddler tiddler=<<content>>> <!-- assuming <<content>> is a single title -->
<$transclude $tiddler="TemplateTitle"/>
</$tiddler>
For multiple titles, we can also rewrite the first example as a $list:
<$list filter="[tag[mechanism]]" template="TemplateTitle" />
or (taking advantage of the fact that $list
widgets set the <<currentTiddler>>
value for each result, by default)
<$list filter="[tag[mechanism]]">
<$transclude $tiddler="TemplateTitle" />
</$list>
or even
<$list filter="[tag[mechanism]]">
{{||TemplateTitle}} <!-- transcluding <<currentTiddler>> when the content tiddler isn't specified -->
</$list>