Overview
You can update a contact attribute by using the Smarty attribute crdl-setAttribute
within an anchor tag.
Link tracking must be enabled for this feature to work.
Update a string attribute
The following code will update the string attribute "flavor" with the value of "vanilla".
<a href="http://www.example.com" crdl-setAttribute-flavor="vanilla">Click to set flavor to "vanilla".</a>
Update a number attribute
The following code will update the number attribute "points" with the value of "10".
<a href="http://www.example.com" crdl-setAttribute-points="10">Click to set points to "10".</a>
Increment a number attribute
Using the syntax :inc
allows you to increment or decrement the value of a number attribute by providing a positive or negative value.
The following code will increment the number attribute "points" by "3".
<a href="http://www.example.com" crdl-setAttribute-points:inc="3">Click to increment the points value by "3".</a>
The following code will decrement the number attribute "points" by "3".
<a href="http://www.example.com" crdl-setAttribute-points:inc="-3">Click to decrement the points value by "3".</a>
Update a date attribute
The following code will update the date attribute "expiration" to the current date.
<a href="http://www.example.com" crdl-setAttribute-expiration={$smarty.now|date_format}>click to set expiration date to today.</a>
The following code will update the date attribute "expiration" to 30 days in the future.
<a href="http://www.example.com" crdl-setAttribute-expiration={"+30 days"|date_format}>click to set expiration date to 30 days in the future.</a>
The following code will update the date attribute "expiration" to 30 days in the past.
<a href="http://www.example.com" crdl-setAttribute-expiration={"-30 days"|date_format}>click to set expiration date to 30 days in the past.</a>
Update an array attribute
The following code will update the array attribute "categories" with the values "apparel", "electronics" and "home".
<a href="http://www.example.com" crdl-setAttribute-categories="apparel,electronics,home">click to set the "categories" array with the values "apparel,electronics,home".</a>
This array update method only replaces the contact attribute value(s) with the ones specified; however it is unable to add/remove values. For more flexibility to replace, add, and remove attribute values, you can use setArrayAttribute.
Modify array attribute values
To add or remove array attribute values, you can use the Smarty attribute crdl-setArrayAttribute-<attribute-key>:<modifier>=”<comma separated list of items>"
within an anchor tag.
setArrayAttribute
does not check for uniqueness, so it is possible to have duplicate array items.
Default behavior without a modifier
When no modifier is provided, the default behavior for crdl-setArrayAttribute
is to completely replace the existing array with the one that is given. The following code will replace the old value for the "color" array attribute to a new value of "yellow, orange".
<a href="http://www.example.com" crdl-setArrayAttribute-color="yellow,orange">Change the value for the 'color' attribute to "yellow, orange".</a>
Add array attribute item
Using the modifier :add
lets you add comma-separated values to the specified attribute. The following code will add the "salad" and "fruit" values to the "food" attribute.
<a href="http://www.example.com" crdl-setArrayAttribute-food:add="salad, fruit">Add the values "salad" and "fruit" to the 'food' attribute array.</a>
Remove array attribute item
The :remove
modifier allows you to remove one or more comma-separated values from an attribute. The following code will remove the "jeans" value from the "clothes" attribute.
<a href="http://www.example.com" crdl-setArrayAttribute-clothes:remove="jeans">Remove the value "jeans" from the 'clothes' attribute array.</a>
In the next article, you can learn how to disable link tracking.
Comments
0 comments
Please sign in to leave a comment.