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. It's a time-saving method to collect real-time data about a contact that you're entering into Cordial.

Link tracking must be enabled for this feature to work.

Contacts won't update when crdl-setAttribute is sent in a test message.

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.