## Overview

Using Smarty, you can randomize blocks of content in a message. The content will be randomized at send time or during message preview. This is useful if you need to display advertising content randomly in a message.

## Examples

In this first example, we'll assign a variable with a random value between 1 and 4. Then in the content, we can use an {if}{else} statement to print the random result:

{$data.min = 1}

{$data.max = 4}

{$data.random = "{math equation='rand(min, max)' min=$data.min max=$data.max}"} {if $data.random == 1} Ad 1 {elseif $data.random == 2} Ad 2 {elseif $data.random == 3} Ad 3 {else} Ad 4 {/if}

<h1>Debug Data</h1> {$utils->jsonPrettyPrint($data)}

<br><hr><br>

Every time the message is sent or previewed, the content will change according to the number that was selected at random by Smarty.

We can also render a random value from an array:

{* Math for Random *} {$random.min = 0} {$random.max = 3} {$random.index = "{math equation='rand(min, max)' min=$random.min max=$random.max}"}

{* Array *} {$array_list = ['value1','value2','value3','value4']}

{* Return a Random Number Between 0-3 for the Array *} {$random_result = $array_list[$random.index]} <p>{$random_result}</p>

In the next article, you can learn about calculating distance between postal codes.

## Comments

0 comments

Please sign in to leave a comment.