I have a triggered send configured to enable sending dynamic content. In order to allow for click tracking of links within the HTML body, I followed the instructions outlined in this post. However, the links are coming through unwrapped when I make a send. Below is the soap envelope of the send alongside the Email definition.

Current soap envelope (Relevant part is the HTML__Body section):

<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:etns="http://exacttarget.com" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:ns0="http://exacttarget.com/wsdl/partnerAPI" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
        <wsse:Security mustUnderstand="true">
            <ns0:Objects xsi:type="ns0:TriggeredSend">
                        <ns0:Value><![CDATA[<body> Test Content <a href="httpgetwrap|https://www.example.com"> prod link </a> </body>]]></ns0:Value>
                        <ns0:Value>THIS IS A TEST SEND

Current email defintion:

<html><custom name="opencounter" type="tracking"> %%=TreatAsContent(HTML__Body)=%% </html>

Note that I have spoken with support and confirmed that the WRAP HTTPGET URLS business rule is enabled. I also checked "track all links found within this email" when creating the triggered send. Another notable fact is that the links come through withouth the "httpgetwrap|" prefix which means the AMPScript directive is being parsed but somehow not getting executed as expected. Any help would be greatly appreciated. Also worth noting is that this is on an Enterprise 2.0 account.


HTTPGETWRAP tracking is limited to the first 100 unique URLs per send job. Anything after that won't get tracked.

For triggers, they keep the same JobID until they're restarted. I bet if you pause and restart your trigger, they'll start getting tracked.

| improve this answer | |
  • Thanks for the quick response Adam. I tried restarting the job and the links are still not getting wrapped. I can confirm that it's a new job since I see a new jobid was assigned in the send. Any other possible reasons as to why the directive isn't wrapping the link? Additionally, do you have any other suggestions on how to allow for link tracking within triggered sends without a job level limit? – bitmill Oct 27 '16 at 18:44
  • 1
    it turns out they support rep didn't actually turn on the WRAP HTTPGET URLS business rule properly. After turning on the feature, the links were getting wrapped up to 100 unique links like you stated. I'm still wondering if you know of any alternative approaches to enabling link wrapping within dynamic links in triggered sends that's not subject to a job level limit. – bitmill Oct 28 '16 at 15:39
  • The work-around is typically building the links with the concat() AMPScript function and wrapping them with a treatascontent() function to force the link wrapping. It's a big pain and generally not worth the effort. – Adam Spriggs Oct 28 '16 at 15:54
  • do you have an example where this workaround is implemented? I tried your suggestion by changing my test payload to <body> Test Content %%jobid%% <a href="%%=TreatAsContent(Concat('http://exacttarget.com'))=%%"> test link </a> </body> and the links still come through unwrapped. Thanks again for your help. – bitmill Oct 31 '16 at 18:46

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.