I was able to successfully import the campaign on a contribution by importing the campaign's CiviCRM ID.

I agree that it seems odd that campaigns have an "External ID" field, but it can't be used for imports, though!

You can find your campaign IDs by going to **Campaigns menu » Dashboard » Campaigns**.  In CiviCRM 4.7+, they'll be in the first column of the list.  See screenshot 1 below.  If you're using CiviCRM 4.6 or lower, you can find the ID by hovering your mouse over the "Edit" button next to a campaign and reading the ID that appears in the URL at the bottom of your web browser.  See screenshot 2 below.


[![enter image description here][1]][1]

[![enter image description here][2]][2]


  [1]: https://i.sstatic.net/vsfzq.png
  [2]: https://i.sstatic.net/Pzhzg.png