I have the following Use Case. On a third party Website a User can subscribe for a Newsletter with the email address only. The subscription triggers a Triggered Email in Marketing Cloud and writes the User in a Triggered Send Data Extension.

In a second step, the User is forwarded to a second form and can now add additional Data like Street, Name, Preferences etc. That Information is updated in the triggered send data extension using "Insert Data Extension Row by Key" (https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/putDataExtensionRowByKey.htm)

As subscriberkey and emailaddress can not be tagged as Primary Key in a triggered send data extension, the value "email" gets passed to the Triggered Send Data Extension as primary key and is used as Identifier for Updating the Subscriber Information.

So far that process works - it just has the "problem" that a subscriber can only insert his email address one time. A second time the triggered send would not be executed as the primary key "email" is already written in the data extension. So if the Confirmation Email lands in spam or there is any other reason a subscriber wants to resend that confirmation email, there is currently no opportunity. Which is not a perfect situation - but I can not find another solution to build that two step process via REST API. Do you guys have any idea or input?

1 Answer 1


Triggered Send Data Extensions are meant to be a log of API calls, not a primary source for subscriber data -- which is why Email Address and Subscriber Key cannot be primary keys.

With no primary key, there's nothing stopping multiple emails being triggered for a single subscriber. So unless you've added some other primary key (not recommended) or are utilizing an Exclusion Script), there will be duplicates in your TSD DE.

I'd suggest a single master Data Extension and a set of Queries in an Automation to take rows from your Triggered Send Data Extensions and upsert them into your master.

Or, as you mentioned, just upsert rows in your Data Extension directly from your page.

  • Hello Adam, you are correct with your assumption. The Triggered Send Data Extension is not be the permanent source for subscriber data. The data is later (if DOI is confirmed) added to the master Data Extension In this particular use case we have the Situation that the Newsletter-Sign-Up is a two-step-process: 1. Enter Email (calls the triggered Send and writes User in TS DE) . 2. (not mandatory) Enter additional Profile Data
    – crow_doe
    Dec 5, 2017 at 10:39
  • To identify the correct user in step 2, I need a primary key to write the data into the correct column. The only way I see to reach this, is to add the "Email" as additional Primary Key in the Triggered Send Data Extension. Otherwise we could not add the additional data. This brings the issue, that each user can only apply one time with his Email-Address for the DI Confirmation Mail. Do I overlook something ? As this is not very user-friendly and might cost the client registrations.
    – crow_doe
    Dec 5, 2017 at 10:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .