We need your valuable help on SFMC.

We have a HubExchange app and a large client (millions of users) is using it and having some serious issues.

They have Web Analytics Connector enabled, which adds an extra attribute on their email called: _AdditionalEmailAttribute1

If you clone an email using the API (** see below how) the attribute is not copied.

If you do not mind, let us know if there is a way to make a copy that retains _AdditionalEmailAttribute1

Thanks, Alex

We use this SFMC API call:


We clone the original email by giving these params:





CategoryId (our folder)

ClonedFromID (the original email)

  • The reply below does not solve the issue. – Alexios Ballas May 11 '15 at 14:43

It would be possible to retrieve the additional property and add it to the newly cloned email but it isn't brought over as part of the cloning process.

The SendAdditionalAttribute object can be used to retrieve the existing value used for AdditionalEmailAttribute1, then the same object can be used with the Update method to add that value to new email.


  • Mac, we tried your suggestion. We can only get the additional attributes through the API if the email was already sent. We cannot get the additional attributes if the email was never sent (although the email was saved). If you do not mind, let us know what we can do to fix this. – Alexios Ballas May 6 '15 at 13:52

I've also struggled with this a bit, but managed to find out how to update the attributes. I felt there was a lack of documentation on how to update them.

You can update an Email object with SendAdditionalAttribute's:

// Create an Email instance or find an existing Email
// I'll simply update by an Email ID which I already know
var email = new Email();
email.ID = 114486; // Known ID of an Email
email.IDSpecified = true;

string requestId;
string overallStatus;
var results = _soapClient.Update(new UpdateOptions(), new APIObject[] { 
    new SendAdditionalAttribute() { 
        Email = email, 
        Name = "__AdditionalEmailAttribute1",   
        Value = "<some value>" 
}, out requestId, out overallStatus);

if (overallStatus == "OK")
    // Success

You can obviously change the 1 to any other index you want to update.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.