When Marketo sends emails, you can think of building the email in 2 steps:
If the {{token}} value is http://www.domain.com, that would be expected to not track because of the above 2 steps. After the {{token}} value is inserted, Marketo does not go back to wrap tracking code around http/https. The {{token}} doesn't look like a URL when the system applies the tracking code because the tokens don't pull the values in until the next step after.
The solution to tracking tokens is to place http:// or https:// on the outside of the token, like such:
http://{{token}}
That way, when Marketo builds the email, in step #1, the system recognizes the http and knows it's a URL. Then the tracking is wrapped around the http and the {{token}} as well. Then in step #2, the {{token}} value is inserted into an already-wrapped link.
Keep in mind is that if the {{token}} value contains http, but http is on the outside of the {{token}}, the link will break. Let's say the URL you want to insert is http://www.domain.com. You have to move the http:// out in front of the {{token}}, but you don't want to also have it inside the {{token}} as well or your link ends up being http://http://www.domain.com.
To get around this, you'll need to remember to take the http:// out of the {{token}} value.
would instead be