Use dynamic personalization from a relational table inside of a tracked URL
Dynamic Link Leader, or DLL, is the manual construction of an Acoustic Campaign tracking hyperlink.
By manually constructing the link, Campaign bypasses the traditional process of masking it with a redirect, so personalization from a relational table does populate. Dynamic Link Leader leads a dynamically created link to the Acoustic Campaign link server. This achieves the desired results:
- tracking the link
- redirecting to a URL with values from outside the parent database.
Use case:
Green Hands Garden Supply is sending an email to a customer that contains a link to a product that they just purchased. The product ID is stored in a record on the relational table and that link is generated with the product ID information from the Relational Table.
Placing the link greenhands.com/product/%%PRODUCTID%% in the email template body results in an email that does not properly loop in the relational table data. However, if it is placed within the relational table data section it does populate, but you cannot have tracking on the hyperlink. You must use DLL to track the link.
DLL example
To track a hyperlink that contains relational table data, Green Hands Garden Supply (GHGS) places the following in their relational table section
<a href="http://links.<org_specific_domain>/ctt?m=%%mailing_id%%&rj=%%REPORT_ID_CODE%%&r=%%RECIPIENT_ID%%&b=0&j=%%JOB_ID_CODE%%&k=PRODUCT_NAME&kx=1&kt=12&kd=http://greenhands.com%%2Fproduct%%2F%%PRODUCTID%%"
xt="SPNOTRACK">Product<a>
- Find your organization-specific domain which can be found in Settings > Administration > Organization Settings > Domain Settings. Once you have that information, set the info up as
links.<org_specific_domain>
- Get the link that will be changed to DLL, e.g.:
http://greenhands.com/product/%%PRODUCTID%%
- Paste in the DLL template:
http://links.<org_specific_domain>/ctt?m=%%mailing_id%%&rj=%%REPORT_ID_CODE%%&r=%%RECIPIENT_ID%%&b=0&j=%%JOB_ID_CODE%%&k=PRODUCT_NAME&kx=1&kt=12&kd
- Fill in the DLL template with the following information:
- Links domain should be according to your pod: Note: If you have a custom domain, use the custom domain. For example, links.<org_specific_domain>.
- k parameter: Link name
- kt parameter: Type of hyperlink (1 is regular, 12 is personalized, 5 is clickstream).
- kd parameter: Link to be tracked, URL-encoded. Note: Use the UTF-8-character hexadecimal equivalents for non-alphanumeric characters.
http://links.<org_specific_domain>/ctt?m=%%mailing_id%%&rj=%%REPORT_ID_CODE%%&r=%%RECIPIENT_ID%%&b=0&j=%%JOB_ID_CODE%%&k=PRODUCT_NAME&kx=1&kt=12&kd=http://greenhands.com%%2Fproduct%%2F%%PRODUCTID%%
- Place the completed DLL within a hyperlink tag and include the following:
xt="SPNOTRACK": <a href="http://links.<org_specific_domain>/ctt?m=%%mailing_id%%&rj=%%REPORT_ID_CODE%%&r=%%RECIPIENT_ID%%&b=0&j=%%JOB_ID_CODE%%&k=PRODUCT_NAME&kx=1&kt=12&kd=http://greenhands.com%%2Fproduct%%2F%%PRODUCTID%%" xt="SPNOTRACK">Product<a>
- Include the hyperlink with DLL in the relational table data section:
If you have an analytics package i.e. Google Analytics, Omniture, etc., the append string will not automatically append to the end of the URL. The append string from Organization Settings > Integrations must be retrieved by an organization administrator and manually place it on the end of the link. (Only an organization administrator can retrieve the append string.) This is because the link is setup as an SPNOTRACK and append strings only automatically append to the end of tracked links and clickstreams.
Encoding the Link
If you are using the Acoustic Campaign web tracking code and using a DLL in a Relational Table, you must add the Host Server URL (i.e. links.<org_specific_domain>) for the POD you are using to the Qualified Domains area. Then, you must also add the updated web tracking code to your websites.
Tips
Don't keep sending a live send with each test. Using DLL is a manual way to create a tracked link that only shows up on the Single Mailing report after someone clicks it. This means you can send one live email with a DLL (working or broken) and then take that DLL link code to keep testing. Each time you paste the modification of that DLL into your browser and enter, you can test that it redirects to the destination, and the Single Mailing Report link names are present. If you encoded %%, then you must do another live send as encoded %% does not personalize.
Variables being dropped after an & sign? Start off without any encoding. Then just encode the & signs. If it's still not working, also encode the ?. Keep encoding things until it works. Sometimes, it's the destination website. Change the URL for the destination site to http://google.com and then add all the variables. Google keeps the variables on the URL. This proves that the link works and the non-google destination site is dropping variables.
Create a relational table URL with an image using a Dynamic Link Leader
You want to create a DLL (dynamic link leader) that pulls personalization from a relational table into a tracked link, and then place the link on an image.
You followed the instructions on creating a DLL on a text link but it is not working as you expect when you try to link an image. The link does not take the recipient to a specific page or site based on the data in the relational table.
To remedy this issue, modify the markup to create the link without an image using Dynamic Link Leader.
- Creating a DLL with an image requires a few additional steps to be taken before the image can be placed in the relational table markup.
- Add the image to the email as usual.
- Change the email from Design view to Source view to locate the image tag
<img>
. It looks similar to the following tag.<img src='image.png' xt='SPIMAGE' contentid='17f80532-14616ec5c66-943e27de0c8b91cc3fcf1475c3e5d726' name='image.png' spname='image.png' width='26' height='27' border='0' alt='' />
- Click the Insert Relational Table Data icon, then Insert Relational Table Data.
- Click Insert Markup.
The markup is similar to the following example.
%%RT_LOOKUP_BEGIN query='/Shared/Relational Table Query Name' order_by='' max_rows='10' %% %%RT_HEADER_BEGIN%% %%RT_HEADER_END%% %%RT_ROW_BEGIN%% <table> <tr> <td>EmailAddress</td> <td>Zip</td> </tr> %%RT_HEADER_END%% %%RT_ROW_BEGIN%% <tr> <td>%%EmailAddress%%</td> <td>%%Zip%%</td> </tr> %%RT_ROW_END%% %%RT_FOOTER_BEGIN%% <tr> <td colspan='2'> </td> </tr> </table> %%RT_FOOTER_END%% %%RT_NOT_FOUND_BEGIN%% No Rows Found %%RT_NOT_FOUND_END%% %%RT_LOOKUP_END%%
- Remove the
<table>, <tr>
and<td>
tags.%%RT_LOOKUP_BEGIN query='/Shared/Relational Table Query Name' order_by='' max_rows='10' %% %%RT_HEADER_BEGIN%% %%RT_HEADER_END%% %%RT_ROW_BEGIN %%RT_HEADER_END%% %%RT_ROW_BEGIN %%RT_ROW_END%% %%RT_FOOTER_BEGIN%% %%RT_FOOTER_END%% %%RT_NOT_FOUND_BEGIN%%No Rows Found%%RT_NOT_FOUND_END%% %%RT_LOOKUP_END%%
- Add the image tag
<img>
between%%RT_ROW_BEGIN%% and %%RT_ROW_END%%
.<img src='image.png' xt='SPIMAGE' contentid='17f80532-14616ec5c66-943e27de0c8b91cc3fcf1475c3e5d726' name='image.png' spname='image.png' width='26' height='27' border='0' alt='' />
- An anchor tag,
<a>
, is placed around the image tag,<img>
. The DLL (Dynamic Link Leader) created in step 1 is inserted here.In the example used in this procedure, the modifications look like this.
<a name='unique_link_name' href=" href="http://recp.yourdomain.com/ctt?m=%25%25MA...ieldName%25%25" xt='SPNOTRACK' style='background-color: rgb(0, 0, 0); text-decoration: none; border: 0px;'>TextDisplay<img src='image.png' xt='SPIMAGE' contentid='17f80532-14616ec5c66-943e27de0c8b91cc3fcf1475c3e5d726' name='image.png' spname='image.png' width='26' height='27' border='0' alt='' /></a>
- In the example used in this procedure, the final result looks like this. Notice there is table element tab
<td>
around the markup. This is not necessary for functionality.<td width='17' style='text-align: right;'> %%RT_LOOKUP_BEGIN query='/Shared/Relational Table Query Name' order_by='' max_rows='10'%% %%RT_HEADER_BEGIN%% %%RT_HEADER_END%% %%RT_ROW_BEGIN%% <a name='unique_link_name' href=' href="http://recp.yourdomain.com/ctt?m=%25%25MA...ieldName%25%25' xt='SPNOTRACK' style='background-color: rgb(0, 0, 0); text-decoration: none; border: 0px;'>TextDisplay<img src='image.png' xt='SPIMAGE' contentid='17f80532-14616ec5c66-943e27de0c8b91cc3fcf1475c3e5d726' name='image.png' spname='image.png' width='26' height='27' border='0' alt='' /></a> %%RT_ROW_END%% %%RT_FOOTER_BEGIN%% %%RT_FOOTER_END%% %%RT_NOT_FOUND_BEGIN%% No Rows Found %%RT_NOT_FOUND_END%% %%RT_LOOKUP_END%% </td>
How to set up a DLL whitelist
When using Dynamic Link Leader (DLL), we encourage you to follow security best practices. To minimize the risk of phishing attacks through the manipulation of URL parameters, you can enable DLL whitelisting for any domains used in URL redirects.
Log into Campaign as an org admin. If you can’t find the feature within the navigation, you need to contact support so they can enable it.
At the bottom of your right-hand navigation, go to Settings > Administration > DLL whitelist.
You'll see this page:
Type in the domain you want to whitelist into the field and click Add domain. You'll see your domain in the list below. Once you have added all of the website domains that URL links in their emails might point to, you need to check the box to Enable DLL domain whitelist. You'll see a notification that the changes were made.
To disable a domain you can delete it from the list.
Each domain in the DLL domain whitelist must be typed exactly as is. For example, if the redirect domain in the DLL is www.citycool.com, www.citycool.com must be added to the DLL whitelist and not just citycool.com.
Note: You can read more on the optional organizational settings here.