Based on what I have researched and what has been advised to me by Support, it seems impossible for Program Acquisition data to be applied in Marketo based on a new lead/contact being added to a campaign in Salesforce (that is syncd to a program).
As an example - after a large tradshow we may come back with several thousand scans. We import these scans into a Salesforce camapign with a member status via a 3rd part de-duplication app. We do this as Marketo only de-duplicates based on email, and only creates new leads, not new contacts in matching accounts.
But because the lead/contact gets created in Salesforce and then added to a campaign, Marketo doesn't add any acquisition data.
This is frustrating as I have to set up trigger campaigns for every program to add the acquisition data.
We actually look for leads/contacts without any acquisition data and then apply this program's details. This way we see "catch up" with old data that was imported before we used Marketo. I know this isn't strictly speaking true but does help with our Marketo analysis later.