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.