Hi Paul,
I have looked into this, and it should be possible for you to get the OrderID - Campaign code relationship from the Activity log, using this query:
SELECT OrderID, ActivityCampaign
  FROM [k8].[dbo].[COM_Order]
  JOIN [k8].[dbo].[OM_Activity] ON OrderID = ActivityItemID
  WHERE OrderSiteID = ActivitySiteID AND ActivityType like 'purchase'
This query will only work with activity monitoring turned on.