Problem using different embedded data values for multiple distribution to same user | XM Community
Skip to main content

I need to create and launch personalized email survey distributions, customized by my parameters, to my users via API integration. The same user may need to receive a different version of the same survey at different times. For example, after a certain event happens on my side, they need to receive a Qualtrics distribution email with survey A with embedded data parameter P = 1, and later after another event on my side, they'll receive an email with survey A with embedded parameter P = 2. Even if that user only opens the first email after receiving the 2nd email, I need the survey to open with P=1 from the 1st email, and P=2 from the 2nd email. I created both survey and Qualtrics distribution email that depends (and varies) based on the value of P.
The process I wanted to use is:
a) Create a mailing list: https://api.qualtrics.com/3f633e4cea6cd-create-mailing-list
b) Create a contact in that mailing list with P=1:
https://api.qualtrics.com/fc43c25b3f3c3-create-contact-in-mailing-list
c) Create an email distribution for that contact:
https://api.qualtrics.com/573e3f0a94888-create-distribution
Later, I would do the same thing, creating a new mailing list with a new contact in it with P=2
(Note that the contact in this case *has the same email address*, since it's the same user I'm sending the survey to.)
What I saw what I did that, is that embedded data for that contact gets OVERWRITTEN (P=2) (regardless that I was trying to create that contact multiple times in multiple "mailing lists"), and when my user clicks on the survey link from the FIRST distribution email, the survey that loads is the version that corresponds to P=2, not P=1.
I went further and tried to "override" the survey link in the distribution email by making it be ${l://SurveyURL}?P=[value_I_needed], but that didn't seem to work - it looks like Qualtrics automatically takes the value for P from the *latest value stored for that contact*, and ignores the value for that embedded data field when it's supplied as a URL parameter. (That's really not the behavior I would expect!)
Because of this, it looks like there is no way to use email distribution by Qualtrics for my use case.
Am I missing a way?
Thank you.

sasham5
What you're missing is the deduplication feature of qualtrics which replaces the old embedded data value with new one since your variable is same(P). I am assuming your deduplication feature is email (you can check in directory settings) and hence your previous value of P=1 is getting replaced with P=2 when new mailing list contact api is triggered. To achieve your use case with same settings you need to have P1=1 and P2=2 and later within survey flow you can merge the 2 values for P if needed.
Hope it helps!


I contacted support and there are two ways to do what I need, both of which I successfully tested:

  1. Unset automatic contact deduplication by email in project settings. Then, when I create a new contact with a set of embedded data params, it will always be created as a new contact. Otherwise Qualtrics merges the new contact with the same email address and replaces embedded data params with the newest set. The cons of this method is, contact proliferation.

  2. Use Transactions, a concept specifically created to cover my case. The steps are: Create a contact (Qualtrics will automatically deduplicate by email if contact already exists); create a transaction for that contact with all the embedded data; create transaction batch; create distribution with that transaction batch ID instead of a mailing list ID. The resulting survey link will contain all transaction embedded data.


Leave a Reply