How can we help?

Update an attribute when clicking a link

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.