I used to use a name personalisation in civimail with smarty script...
{capture assign=nickname}{contact.nick_name}{/capture} Dear {if $nickname}{contact.nick_name}{else}{contact.sort_name}{/if}
I was testing if this script would render in mosaico 2.x, it seems doesn't work. Is there any workaround? Thanks