I assume if you go to another country and use a credit card, then the foreign transaction fee will always apply.
What if I use a credit card to make a purchase from an online store? Does it depend on if they say the charges are in CAD or another currency? This can be rather unfortunate as not all sites make clear if the prices are in CAD or USD. In the US and Canada are there laws that require online stores to specify what the currency is? For example I notice on Amazon.ca and Amazon.com neither state CAD or USD (though ending in .ca probably implies Canadian currency).