We've seen a number of cases recently where a user sets up a C&P campaign and assigns a SF campaign ID to it. Then they set up a form, but leave the SF Settings portion of the form blank (no ID assigned there). It used to be that all forms within a C&P campaign would send transactions into the SF campaign assigned to the C&P campaign. If forms used different SF Campaigns, those campaigns would override the SF campaign assigned to the C&P campaign. But now if a user does not assign a SF campaign to each form used within a C&P campaign, the transactions fail to post (even if they have assigned a SF campaign ID to the broader C&P campaign). The error we see is that the campaign ID is not correct - in fact the ID that displays in the error is not even in the SF format of IDs.
This appears to be a change in the way data is posted to SF. When I look at the raw data for a transaction that fails, here's the xml for the external campaign ID <CampaignExternalID>637393219632786417</CampaignExternalID>. As you can see, that string of numbers is nothing like a SF campaign ID.
The problem we're having is that we bypass the C&P record handling and instead parse the raw xml data and create or assign records using our own code. We do this for a number of reasons I won't explain right now (suffice it to say our system works better when we do this). The <CampaignExternalID> data has always shown either the SF campaign ID stored in the donation form or, if no ID is assigned in the form, the ID assigned to the C&P campaign. But that is not happening now. We've had multiple posts to SF where the external campaign ID is like the above ID. As you can image, if we try to post an opportunity record using a campaign ID like above, it will fail. But we've also found that if the user assigns a SF campaign ID in the form itself, the problem resolves.
Has there been a change in how data is posted in the xml related to campaign IDs that is sent into Salesforce? Alternatively, is there a new requirement that every Form has to be assigned to a SF campaign? In either case, why would a number like the above be posted with the xml for external campaign ID? Note our code can handle if there is NO campaign assigned (we assign it to a default campaign in that case). But if there is an incorrect ID, we have not anticipated that. We could, perhaps, program to ignore IDs that don't begin with "701" (the prefix for campaign IDs in SF) but even that is not a perfect solution since what is being posted in the field above could well start with "701."
Thanks for any light you can shed on this new behavior.
This appears to be a change in the way data is posted to SF. When I look at the raw data for a transaction that fails, here's the xml for the external campaign ID <CampaignExternalID>637393219632786417</CampaignExternalID>. As you can see, that string of numbers is nothing like a SF campaign ID.
The problem we're having is that we bypass the C&P record handling and instead parse the raw xml data and create or assign records using our own code. We do this for a number of reasons I won't explain right now (suffice it to say our system works better when we do this). The <CampaignExternalID> data has always shown either the SF campaign ID stored in the donation form or, if no ID is assigned in the form, the ID assigned to the C&P campaign. But that is not happening now. We've had multiple posts to SF where the external campaign ID is like the above ID. As you can image, if we try to post an opportunity record using a campaign ID like above, it will fail. But we've also found that if the user assigns a SF campaign ID in the form itself, the problem resolves.
Has there been a change in how data is posted in the xml related to campaign IDs that is sent into Salesforce? Alternatively, is there a new requirement that every Form has to be assigned to a SF campaign? In either case, why would a number like the above be posted with the xml for external campaign ID? Note our code can handle if there is NO campaign assigned (we assign it to a default campaign in that case). But if there is an incorrect ID, we have not anticipated that. We could, perhaps, program to ignore IDs that don't begin with "701" (the prefix for campaign IDs in SF) but even that is not a perfect solution since what is being posted in the field above could well start with "701."
Thanks for any light you can shed on this new behavior.
Comment