How do I assign contacts to a specific variable per mailing? | XM Community
Skip to main content
Hopefully I can put this properly into words.



I would like to assign a variable to each e-mail distribution. For example, Bob may be part of the customer service program. I would like to schedule an e-mail distribution that passes 2019 05 CS as the program rather than include that as a question. I thought I could add it as an external data reference, and I managed to do that. But then later Bob goes through the leadership development program, and I want to schedule the same survey that passes 2019 07 Leadership as the external data reference.



But as I do this, it looks like Bob's external data reference in the CS survey changes to the Leadership value, which of course could be a problem if he doesn't complete the survey before this changes.



My intent is to collect the survey for everything but filter the results according to the training programs they've been identified with. I'm starting to think that External Data Reference is not the way to go.
You were very close! You can use Embedded Data to do this. What I would do is set up an embedded data field for each campaign/program and set it to "Yes" when a contact is associated with that program.



You can either set it to Yes when they start the survey (using the Survey Flow) or you can set it to Yes when you create a mailing list (by uploading it as a contact field set to Yes for each record), depending on how you want to capture that.



Holler if you need help with either of these methods.
Oh okay, so I would add an Embedded Field each time I add a new program?



So if I understand correctly, this screenshot first reflects sending the survey to someone in the May CS program and then sending the survey to the same person in the July Leadership program. Then I would keep adding a column to match exactly what I had punched in before?



!





And it looks like I can only remove the most recent field but can add the new field easily enough. There's no harm in removing those fields in September when I need to send a survey to the same person for an entirely different program in September, right?



Am I in the right direction?
You are definitely heading in the right direction! Personally, I would keep all the fields, so you can do some more advanced analytics later. But as long as you don't need that data in the future, you can remove them for September.



Depending on the type of license you have (if you're using XM Directory), you won't have to add each field each time, as they'd be stored on the contact record in the panel. But if you have a license without XM Directory (or iQ Directory), then you'd have to do it as you've outlined above.
I do have XM. I'm running into an issue with Duplicate e-mails as I try to test this out. I delete the Embedded Data A column and add it again with the new name. I'm guessing that what I'm actually doing is just renaming Embedded Data A, which could mess up my reporting.



So if I don't delete those columns to make room for other fields, I very well could have a new contact list of:

* Email

* First Name

* Last Name

* External Data Reference

* Language

* 2019 05 CS

* 2019 05 Leadership

* 2019 05 Operations

* 2019 06 Operations

* 2019 07 Leadership

* 2019 08 CS

* 2019 08Operations

* 2019 08 Leadership



And so on. This could become a rather large table if that is my option.



Or maybe I'm not quite understanding contact lists as much as I hope to.
So if you have XM directory, you shouldn't have to manage it as a table.



If you're having issues with duplicate emails, you can adjust this in your directory settings.



If you have existing individuals, you can just upload the relevant contact information (Name, email, etc) and a column for your project (2019 05 CS). XM directory will just add that into the contact record. So when you need to send out 2019 06 Operations, you upload contact info and 2019 06 Operations and it'll just append to anyone already existing in the list.



So if you have Frank on the first survey (2019 05 CS = Yes) and then you upload the 2019 06 Operations list that also includes Frank, you'll end up with Frank's record showing both 2019 05 CS and 2019 06 Operations as "Yes" with a single record for Frank. This is also helpful for building and sending out mailing lists. You can create a sample with the logic that 2019 06 Operations is "Yes" and it'll grab everyone that applies to into a separate list. It'll end up looking like this, with all of your projects just as a value on the right, like under Phone Number:



!



When you want to delete embedded data fields from XM Directory, you have to do it from the "Manage Embedded Data" section or else, you're right, you're just adding new fields. When you don't fill fields that exist already in the database, it just stores them as blanks, it doesn't delete them.
Okay, now I think I got a decent grasp of the embedded data fields. Thanks so very much.



The one thing I'm struggling with is if there's a way to filter the reporting based on the field = Yes. I can filter by External Reference, but I'm not able to specify the other Embedded Data fields. Am I overlooking that?



I'm trying to avoid having the user answer that for us by defining them on a distribution level, but if that's what we have to do, it's not the worst outcome. I see that I can define an embedded data field within the survey flow, but that seems to be based more on answers assigned during the survey itself and not on the distribution level.
@kevinelmore You can definitely do that! There's a couple of ways, depending on what you're trying to get at.



If you're trying to view it at the survey level, you can pull in the value from the directory by declaring it at the beginning of the survey flow (just put the value itself aka "2019 05 CS" and leave the second part blank, so it reads 'value to be filled from panel or URL') (and then use Options to set to Multi-Value Text Set)



You can then use this to create a Report Breakout.



If you want to run a report that shows the list of people who belonged to a certain project, you can do that at the Directory level, using a filter.
I'm learning a lot with these experiments. I love your suggestion of creating fields for each new program, but I'm not the only person accessing these contact lists. There are already a ton of embedded data fields, and I would hate to add dozens more per year.



I think the solution I'd like to try to achieve is to create an embedded data field of "Course Type". Then whenever I schedule a distribution, I would each contact's field to the appropriate course name and date. For example, Frank finished 2019 05 CS this week but then finishes 2019 06 Operations next month. I would send the survey first with 2019 05 CS as the embedded data. Then I would send the survey again next month with 2019 06 Operations as the embedded data.



But when I try to accomplish this, it won't send the second survey due to duplication even though I update the Course Type embedded data. I looked at your link for Automatic Deduplication, but I don't have rights to the directory settings (probably for the best right now). Am I trying to get XM to do something that it isn't intended to do?
Hmm. You can certainly do that easily with rewriting the Embedded data with each survey, but I'm feeling like maybe I misunderstood your intention at the beginning. Tell me again what you're trying to accomplish with this embedded data field?



Also, what are your directory frequency rules? Is that what's holding you up or is it that you're not allowed to add a contact twice? Can you tell us what kind of error you're getting when you try to send that second survey to Frank?
Sure, I fear that my inexperience may be getting in the way here.



Right now, we have two surveys for different program types. We want to merge them into one survey. The thing is that one survey currently asks a learner what training program they went through (April customer service, June Operations) while the other asks what specific course they went through (April 23 Unconscious Bias, May 31 Emotional Intelligence). With those questions in place, we could filter easily enough for each survey, but it would be unwieldy to merge them into one survey.



But I see that Qualtrics is pretty powerful, and I was thinking that we could merge the surveys together and not even ask the learner what class they took (which has risks of inaccuracy anyway). Instead, it'd be great if I could identify those learners as having taken the May 31 Emotional Intelligence class beforehand. I could create a contact list with all the employees in that class and associate that distribution with it. Then it would be tied to those responses for when I need to filter them in reporting.



It starts off nicely, but subsequent distributions have failed me. Here are the steps I took:

* Create a distribution list named Learning Survey.

* Click on Add List Contacts and upload a CSV containing my name, my e-mail address, and "20190531 Emotional Intelligence" under a column heading of "Course Type".

* From my project, I go to the E-mail distribution. I compose a new e-mail and choose the Learning Survey contacts. I then send the e-mail.

* After I open my e-mail, I click on the link and take the survey.

* I verify that this works by going to the Reports and adding a filter where the embedded data field is "Course Type" and that it contains "Emotional Intelligence". The report shows just that one result, and I'm thrilled with it working. I can even use the contain logic to filter by all instances of Emotional Intelligence, which is peachy.

* I open up my CSV again and change the Course Type to "2019 06 Operations".

* I go back to the Learning Survey distribution list and choose to Add List Contacts again. I upload the updated CSV and verify that the change happened when I Export List Contacts. In retrospect, it looks like I could just Edit Embedded Data without needing to upload a new CSV, so that's cool.

* From the project again, I go to the E-mail distribution. I compose a new e-mail and choose the Learning Survey contacts again. I then send the e-mail.



It was at this point that I would see the e-mail would not send. Instead the details show

0 Emails Sent

0 Emails Failed

0 Surveys Started

0 Surveys Finished

0 Emails Bounced

1 Duplicate Email

0 Complaints



But as I wrote out all these steps, I sent the e-mail a second time without problem. It figures that when I document all the steps that this is the time it doesn't give me an error. I even did it a third time without problem.



So maybe I got it figured out? Unless you can think of anything in the steps I outlined where I may have messed up before? I even sent the same survey to the same address six times without any problem. That vexes me.
Though it looks like the method I documented works, I did discover that if I send Frank a survey while the embedded data = "Emotional Intelligence" but then I change the embedded data to "Unconscious Bias" before he completes the first survey, then the first survey takes on the new data field of "Unconscious Bias." So I can't have two different classes out there for the same person. This may require another type of solution and/or some pretty aggressive survey expiration policies.



But I do thank you for your help. I have a much greater understanding of Contact Lists now. Now to figure out how to get around the changing field without having to resort to multiple fields.
> @kevinelmore said:

>

> But as I wrote out all these steps, I sent the e-mail a second time without problem. It figures that when I document all the steps that this is the time it doesn't give me an error. I even did it a third time without problem.

>

> So maybe I got it figured out? Unless you can think of anything in the steps I outlined where I may have messed up before? I even sent the same survey to the same address six times without any problem. That vexes me.

>



Nope, you did it right. To mitigate accidental sends that may be marked as spam, Qualtrics prevents you sending the same survey with the same email with the same subject to the same person more than once in 24 hours. So the first time you tried in a row, it stopped you but the second time, enough time had passed. To get around this with your tests, you can change the email subject slightly and it will send. 😀



> @kevinelmore said:

> Though it looks like the method I documented works, I did discover that if I send Frank a survey while the embedded data = "Emotional Intelligence" but then I change the embedded data to "Unconscious Bias" before he completes the first survey, then the first survey takes on the new data field of "Unconscious Bias." So I can't have two different classes out there for the same person. This may require another type of solution and/or some pretty aggressive survey expiration policies.

>



Maybe a different solution is to just have two rotating fields? One to hold the Class1 and one to hold Class2? It's not super elegant and you'd have to keep track well to avoid getting mixed up, but it would allow for a month gap in between. So for first survey, the program/class would be uploaded to Class1 and then the next month would be in Class2. Even if Frank took his sweet time taking the survey for Class1, it wouldn't overwrite Class2.



Lastly, I understand that you want to keep the number of fields down but I can't help but recommend you reconsider. If the end goal is to be able to filter responses by who took what and when, you'll be losing the information when you rewrite the fields, every month or two. Being able to look at information over time in a history can be extremely valuable to see trends! Okay, getting off my soapbox now. 😀
> Lastly, I understand that you want to keep the number of fields down but I can't help but recommend you reconsider. If the end goal is to be able to filter responses by who took what and when, you'll be losing the information when you rewrite the fields, every month or two. Being able to look at information over time in a history can be extremely valuable to see trends! Okay, getting off my soapbox now. 😀

>



Are you saying that if I collect data for Unconscious Bias but then send the survey again a month later with the field changed to CS that the report filter will no longer find Unconscious Bias? In the default report at least, it seems that I can filter for any of the classes in that field. Or is it something else that could suffer from the Course Type field being overwritten all the time?



I'll check with our admins and see if there is any concern with having a lot of embedded data fields. Maybe I'm worrying over nothing.
> @kevinelmore said:

> Are you saying that if I collect data for Unconscious Bias but then send the survey again a month later with the field changed to CS that the report filter will no longer find Unconscious Bias? In the default report at least, it seems that I can filter for any of the classes in that field. Or is it something else that could suffer from the Course Type field being overwritten all the time?



Well, XM directory doesn't really work that way (with the exception of External Data Reference). When you upload a csv contact list (or input it manually) and name a field, XM directory stores that field on the contact record, in a big list we don't see in a table format. When you add a new contact list and add another field, named something different, even in the same place, XM directory just adds that as a new field, it doesn't remove the old field. As far as I know, the only ways to remove Embedded Data fields from XM directory are to either 1) remove all values from all contacts in that field or 2) manually delete the field using the 'Manage Embedded Data' section.



So if you have a field named Unconscious Bias and then you load another list and declare a field called CS, XM directory will have two fields, even if some contacts don't have a value for one or the other (or both). When you're managing your report later, you can organize your data with any of the Embedded data fields, providing you either create or declare it in the Survey Flow. So no, you won't lose your ability to filter, providing that you don't delete the fields using the two methods above.



Before, we discussed writing over the content in those Embedded Data fields, which is definitely a real possibility and a concern, for the reasons you outlined if Frank is slow with his first survey and then gets another. My recommendation earlier was that you just add fields instead, so you can use them (or not) for filtering as you need and you don't have to worry about overwriting content in the fields you do create.



Hope that makes sense but I'm here for you if not!
Out of curiosity, how many embedded data fields would you expect is normal? I ask because I exported a contact list and saw 243 total fields. This seems like a lot, so maybe I won't really break anything by adding dozens more.



But since it looks like this address book is shared by other users, there's a chance that someone could arbitrarily remove my fields, yes? In that case, I want to track them in the survey flow. I'd have to add a new field to the survey flow to track each new course I add.
That's a good question. I think our license definitely has hundreds. I suppose it's possible that someone might remove them, but that depends more on your organizational structure than the software.



To mitigate that, you could track the same field in both places. So if you upload the contact list with the new field and its values, it's stored in the XM directory. Then, if you pull it in via the survey flow, it'll also be stored in the survey results.

Leave a Reply