One trick we do is when we travel south is take out USA dollars in lump sums of $500 increments so we only pay the international exchange rate once, instead of using the credit card, and having every transaction charged the rate.
There are a few credit cards I believe that don’t charge the international exchange rate, but my MC isn’t one of them.
Also a lot of places close the the Boarder with the USA will take USA dollars when you pay for something, however you will not get a very good exchange rate.
When my relitives from Oregon visit they change their money into Canadain money at our Credit Union. The Banks up here will also give you the best exchange rate, so check with your bank and see who they are connected with in Canada.
Cheers and have a great trip up here....
soup.