2

Using the PHP Fuel SDK. I could have sworn that I saw somewhere that you can send HTML__BODY, HTML_Body, or something similar to replace the entire content of an Email with unlimited length - bypassing the 2k limit for account attributes and the 4k limit for DE fields. Am I crazy, or it this just another undocumented feature that is known by work of mouth?

3 Answers 3

2

More information about HTML Attributes can be found at: http://help.exacttarget.com/en/technical_library/web_service_guide/triggered_email_scenario_guide_for_developers/

They are used when passing in HTML which exceeds 2000 characters, specifically for triggered sends.

A profile attribute will need to be created with the HTML__ prefix before it can be used with a triggered send. Also, an email will need to be created which references this profile attribute using standard substitution syntax. For example, if you call your profile attribute HTML__Body, then the email will need to contain:

%%HTML__Body%%

While it would be possible to pass the entire HTML for an email using this mechanism, I would recommend keeping as much content in the Email as possible then only passing over the pieces that are truly dynamic.

Another option would be to used a TriggeredSendDataExtension with a field that has the length removed. By default, it will put a length of 50 when creating a Text type field in the interface but that value can be removed to make the field accept larger values. When using a Data Extension field instead of a profile attribute, it isn't necessary to prefix the name with HTML__.

7
  • I can't get that to work. I get: [ErrorCode] => TriggeredSendSubscriberProcessingError [ErrorDescription] => Error Code: 20 - Value provided for HTML__Body is too long. Value is 4451 characters in length, but HTML__Body can hold at most 4000 characters. Commented Apr 23, 2015 at 16:31
  • This is in a data extension. If I add it as an Attribute in Profile Management, the call errors out saying I don't have a valid value - Error Code: 10 - The subscriber is missing required attribute value for HTML__Body Commented Apr 23, 2015 at 16:33
  • When creating the profile attribute for HTML__body, was the option to make it required selected? What about any other constraints on the value such as max/min length?
    – Mac
    Commented Apr 23, 2015 at 16:36
  • If you have a field in a TriggeredSendDataExtension that you want to use to hold the HTML, then naming it with the HTML__ prefix isn't necessary, it only applies to profile attributes. With Data Extension fields, simply don't specify a max length when creating the field to allow for more than 4000 characters.
    – Mac
    Commented Apr 23, 2015 at 16:44
  • If you can update your answer for the data extension, I'll check that as the solution. I didn't even think to leave the length field blank! Commented Apr 23, 2015 at 18:42
1

I just wanted to note here that the above workaround involving a profile attribute might no longer be possible in Enterprise 2.0 accounts. When I tried setting up a profile attribute as discussed in an enterprise 2.0 account, there wasn't an option to not set a max limit. The only workaround I have found so far is to follow @Mac's suggestion of not using a profile attribute but rather to only use a DataExtension field that has no limit set. Make sure to delete any profile attributes of the same name to avoid getting the following error.

TriggeredSendSubscriberProcessingError,errorDescri‌​ption=Error Code:10
- The subscriber is missing required attribute value for HTML__Body
0

As indicated by @Mac in the comments, you can do an unlimited-length variable replacement by using a data extension.

  1. Create a Data Extension using Standard Data Extension -> Creation Method: Create From Template -> TriggeredSendDataExtension.
  2. When you are on the Fields tab, create a Text property and remove the Length amount.
  3. Use this Data Extension when creating a Triggered Send in the interface or API.
  4. Be sure to include the property name in your Email and/or Template.

I was able to successfully send a 960k-character text block to that data extension property.

You must log in to answer this question.

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