Adding piped text from embedded data to end message of survey | XM Community
Skip to main content

I would like to add the values of embedded data variables to my end of survey message but they are not showing up when I add in the piped text.
My message in the editor looks like this:
image.pngHowever, when I get to the end of the survey, the message looks like this:
image.pngHow can I get the piped text to work?

Hello ckraemer ,
where are you creating the new end-of-survey message? In the suvey flow editor or in the message library?
I had a similar problem and it worked for me when I created the end-of-survey message (including the embedded data) from within the survey flow editor.
It did not work if I included the embedded data in a new end-of-survey message in the message library.

However, I still have the issue that if I later add a translation of the new eos message (created in survey flow, but translation added in message library), the embedded data only show up in the original language, not in the translation. I'll update this post if I find a solution to this problem.


kof I had every intention of returning here to provide my solution but forgot! Thank you for reminding me.
I had javascript in a question that was written to set the embedded text. However, I had an error in my code that was not setting the embedded text, therefore leaving the end of survey message variables blank.
The issue I had with the code is likely due to me being new to Qualtrics and working with javascript. I had created variables a certain way to define the embedded data variable name in the code but it didn't like that at all. I ended up having to hardcode the variable as a full string for the embedded data variable name in the code to work.
Example of what it didn't like:
var num = "1";
var subx = "subcourse"+num; <---- This will not work.
let jqsb = "#"+subx;
var subjq = jQuery(jqsb);
subjq.text(subjq.text().split(" |")[0]); //this splits the string in two at a character(s) provided
//subjq.text(subjq.text().substring(0,10)); //not used. this extracts the first 10 characters from a text string
Qualtrics.SurveyEngine.setEmbeddedData(subx,subjq.text());
The embedded data name variable subx needed to be a full string instead of concatenated. The code that worked is below. I can't tell you why they are seen as different but perhaps someone else in this community can.
Example of what it did like:
var subx = "subcourse1";
let jqsb = "#"+subx;
var subjq = jQuery(jqsb);
subjq.text(subjq.text().split(" |")[0]); //this splits the string in two at a character(s) provided
//subjq.text(subjq.text().substring(0,10)); //not used. this extracts the first 10 characters from a text string
Qualtrics.SurveyEngine.setEmbeddedData(subx,subjq.text());


Hello -- I am having this same issue, but I do not know how to make changes to the javascript and wondered if there is any other workaround folks have found? kof I am not able to create an end of survey message in the survey flow editor, just by loading in a message from the library...

Thanks for any help!


Hello jfaus,
I'm not sure if this will help, but the way to create an eos message in the survey flow editor for me worked as follows:
1. add a new element in the flow:
end_of_survey_1.PNG2. Choose "End of Survey":
end_of_survey_2.PNG3. Choose "Customise":
end_of_survey_3.PNG4. Select "Override Survey Options" and "Custom end of survey message..." And in the dropdown select the library where to save it and "New message" (at the very bottom).
end_of_survey_4.PNGHope this helps? Still, I did not resolve the issue with translations and have not tried the JavaScript approach.


Leave a Reply