Criteria Tab


Define Selection Criteria by Building Segments

Entering selection criteria, or defining the types of individuals you are selecting, involves building one or more segments that outline and refine your target results. This is known as segmentation. Segments represent the groups of customers you want to select for your campaign. Each segment may contain several conditions to specifically define a group of customers in detail, or just a few. You build these segments either by dragging a new Segment from the segments tab to the Design tab or by selecting a pre-made segment under Libraries. Your selection conditions dictate which customers to select or omit for each segment's TouchPoint groups.

Topics:

By default, segments are mutually exclusive. TouchPoint evaluates segments starting with the first and working toward the last until it finds a match. If a customer is eligible for more than one segment, he or she is selected only once, at the first match. However, you can instruct TouchPoint to select customers on every matching segment, rather than on just the first segment by making the segment Discrete. To learn more about this process read Making Segments FallThru or Discrete . Regardless of how many segments you choose to match, TouchPoint starts at the first, or top segment, and works towards the bottom.

The first stage of a TouchPoint campaign, after selecting a template, is the creation of selection criteria. Selection criterion are the Excludes and Pass-Thru fields that you use to select your targeted customers from your database. This is otherwise referred to as 'Segmentation.'

Note

If you wish to run or create two TouchPoint campaigns simultaneously, go to the MarketWide main window and click the TouchPoint icon again for an additional TouchPoint window rather than clicking the 'New' icon, which closes the current TouchPoint.

Excludes

Excluded customers are treated as if they do not exist. TouchPoint provides three ways to exclude data. Deciding what exclude method to use depends on what you need to accomplish. 

Defining Excludes

Global Excludes Global Exclude is a way to make sure that certain consumers are suppressed from your entire campaign. For example, you might want to exclude people who are deceased or opted out of marketing communications. Global excludes make sure that no consumers who otherwise qualify for the exclude logic are selected by the campaign at any segment. 

Segment Excludes  Segment Excludes  are applied within the TouchPoint selection tree at the exact position where they are placed, and affect only consumers who reach the exclude. For example, if a Segment Exclude is created to exclude recent buyers, and is placed beneath a parent that selects females, the Recent Buyer exclude is only applied to females and not to males. Segment Excludes are useful for managing campaign logic and preventing consumers from reaching certain segments, while still allowing other segments to evaluate them. 

Table Filters Table Filters are used primarily for performance, and as such they restrict the amount of data TouchPoint processes. It's important to remember that a Table Filter is applied only to the table on which it is built, and is not evaluated for any other table. So, if you create a "Gender = Female" filter on a Customer table but your campaign has segments referencing other tables, the campaign can select consumers that are not females. 

Global Excludes

In some campaigns, you may want to suppress a group of customers from your campaign from being selected into any segment. 
Excluded customers are not evaluated and will not be counted as either matches or non-matches in your campaign. Excluded customers are treated as if they do not exist.

The Excludes Dialog 

The Excludes window allows you to choose groups of customers to exclude from your current campaign.  

Option

Description

Opens a saved exclude.

Saves the selected exclude.

Opens SQLManager so that you can change the table that is highlighted.

Deletes the selected exclude.

Allows you to clear the selected exclude criteria.

To Add Global Excludes

    • Click the Excludes toolbar button (  ) or select Query then choose Excludes from the menu.
    • Click the Database Exclude button () to open SQLManager and select a table. It will add a new row to the Exclude tab.
    • Click the Add Filter... link to generate a filter defining the customers to be excluded.
    • When finished adding all the appropriate excludes, click OK.

The Global Exclude outlined on this page may not be the best option for your campaign. Please see  Exclude Segments  or  Table Filters  for more information.

Note

An Exclude icon will be displayed in the bottom right corner of the TouchPoint window to indicate that an exclude has been defined.

Executing Your Selection

During the execution phase, TouchPoint reads the database and accepts or rejects customers based upon your segment conditions. Selected customers are saved in a temporary work area managed by TouchPoint. You can view the number of selections returned for each segment in the Tracking Tab.

Once you review the returns, you can decide how many individuals from each cell you wish to keep. TouchPoint's default is to keep all selected customers. To choose to use only a portion of the individuals selected in your campaign, click the Tracking Tab found at the bottom of the TouchPoint window. You can also attach additional pertinent information to your selected customers using extra columns as defined during the TouchPoint Template creation process.

How to Execute Your Selection

After defining your segments, click the submit icon () or select File and click Submit.

Using Table Filters

Using Table Filters to Expedite Your Selections

Table Filters are useful if you have a large amount of data and only need to process a small subset; e.g., out of hundreds of millions of transactions over a 10-year period, you may only want to select from orders generated in the last 12 months. This way the filter prevents TouchPoint from examining rows unnecessarily and taking additional processing time. Successful use of Table Filters can save extensive amounts of time when processing large or complicated campaigns.

To Add a Filter

  1. Click on the Table Filters button () or select Campaign and then choose Table Filters.
  2. In the Tables and Filters tab of the Properties window, click on the [No filter defined. Click to add filter] link.

  3. In the Filter window, drag and drop all the appropriate fields from the table into the panel on the right.
  4. Choose your condition and value(s) for each field.
  5. Click OK to add your filter.

TouchPoint Options

Override Select Buffer Size
This is the number of rows per Customer Key that TouchPoint will look at before it moves on to the next customer key. For example, suppose one customer has 1,000 rows on your orders table and you have your buffer size set to 500, if they don't meet your criteria in the first 500 rows checked they will not be selected.

Treat Missing Library Objects as Error
Checking this option tells the engine that if an object can't be in the library, it should fail with an error instead of falling back to the local copy.

When Scheduled, Run Selection Only
If checked selection will run but your campaign will not be committed.

Maximum Nth Values
Displays the maximum number of values that can be Nth in the MarketFlow tab.This applies to the number of values for the selected "Nth By:" field in the Nth Setup window. 

Display Customer Key in Main Window
Displays the Customer Key while the task is running in the main MarketWide window.

Display Segment Name and Description
Shows both the Segment Name and Description

Show Full Segment Descriptions in Hierarchical View
Shows both the Segment Name and Description

Remain Open during Long Running Operations
This will leave the TouchPoint window open when running operations like Commit or Frequency Distributions.

Enable MarketFlow Notifications by Default
Anytime a notification option is available in the MarketFlow it will automatically check that you would like to be notified.

Pass-Thru Fields

The TouchPoint Pass-Thru field feature lets you access additional pieces of data pertaining to the customers or prospects selected by your campaign, whether or not you’re using this data as part of the selection criteria. By default, during customer selection, TouchPoint captures the 'Customer Key' field for everyone it selects. Pass-Thru fields are how you add other fields you may need to create your MarketFlow Journey. Reasons for using Pass-Thru fields include:

  • Snapshots – you can capture dynamic information at the time of selection and save it to Promotion History for analytical purposes. A common example is a model score, where you might wish to know whether a campaign impacts model scores favorably or adversely for customers targeted by that campaign.
  • Match Limits - allow you to choose the “best” subset of customers based on the value of a Pass-Thru field.
  • Constraints – let you limit the number of solicits being sent to a household or business based on Pass-Thru fields such as recency or lifetime value.
  • MarketFlow Journeys – Pass-Thru fields help you in creating branches, filters, excludes, and splits in your campaign MarketFlow.
  • Dynamic Content – Pass-Thru fields can be used as dynamic content within email HTML, direct mail (e.g., envelope teasers), and even other channels such as telemarketing or social media.

Types of Pass-Thru Fields

Pass-Thru fields can be created as either static or reference:

  • Static Pass-Thrus make a copy of the actual data during the initial selection and segmentation (i.e., when you submit from the “Criteria” tab). This data is physically stored inside your campaign, meaning your campaign takes up more space. This option is primarily useful for Snapshot fields. Since the snapshot is taken at selection time, static Pass-Thru fields are frozen and do not get updated if the original field value changes while the campaign is active. Finally, static Pass-Thrus have to be defined before your campaign is submitted; you have to resubmit the campaign after adding or removing one.
  • Reference Pass-Thrus function much like a windows shortcut or browser URL string. A reference Pass-Thru is essentially a pointer to an actual field in the database, which might change constantly much like a web page. If the value of a reference Pass-Thru changes while your campaign is active, the new value appears immediately. Reference Pass-Thrus can be added to or removed from your campaign at any time without needing to resubmit.

Examples of When to Use Pass-Thru Fields 

Example 1: An organization wants to track specific donor segments for each customer, classifying donors by giving levels. This classification gives a snapshot of the giving status of a customer each time he or she is solicited. Using Pass-Thrus to update client status allows the organization to make the solicitation more specific to the individual or to perform reporting analysis.

Example 2: A business wishes to choose whom to solicit based on a model rank score. The marketer could use a Model Score field as a Pass-Thru, and then when selecting Match Limit, elect to base the Priority on the highest model scores. This would ensure that the customers receiving mail are the ones best situated to make purchases.

To Choose Pass-Thru Fields

  1. Click the Pass-Thru Fields button () on the toolbar or select Campaign and click Pass-Thru Fields from the menu.
  2. Scroll through the list of displayed tables and locate the field you wish to add. To add a table to the list, click the Add Table button ().
  3. Choose your Pass-Thru field(s) by dragging and dropping each one from the Available List panel to the Selected List panel.
  4. By default, Pass-Thru fields are added as a reference. For static Pass-Thrus, simply uncheck the Reference box next to the field name.
  5. Add an alias to your Pass-Thru fields if desired. This is the name TouchPoint uses for the field throughout the campaign process.
  6. When finished, click OK.

Note

  • If you add or remove a static Pass-Thru on a campaign that’s already been submitted for counts, TouchPoint forces you to resubmit the campaign.
  • Reference Pass-Thrus can be added to a campaign at any time, without the need to resubmit.

User Defined Field(s)

User Defined Fields are math expressions, similar to the formula dialog found in Analyzer. Using this feature, you can perform practically any sort of arithmetic expression involving database fields, aggregates, and variables; and return the result as a field that can be referenced in your segment criteria. For example, you might take a consumer’s dollar amount from their last order and subtract from it their average order amount for the past year, and the result is over $30 you send them a gift card. This would be very difficult if not practically impossible without this feature. Note that the interface lets you type in conditions directly if you know the syntax.

This feature is extremely powerful and the MXParser library we use supports over 400 advanced functions, operators, and mathematical constants like Pi.

 Operators
Keyword Description Example
+ Addition a + b
- Subtraction a - b
* Multiplication a * b
/ Division a / b
^ Exponentiation a ^ b
! Factorial n!
# Modulo function a # b
 Binary Relations
Keyword Description Example
= Equality a = b
== Equality a == b
<> Inequation a <> b
~= Inequation a ~= b
!= Inequation a != b
< Lower than a < b
> Greater than a > b
<= Lower or equal a <= b
>= Greater or equal a >= b
 Boolean Operators
Keyword Description Example
& Logical conjunction (AND) p & q
&& Logical conjunction (AND) p && q
/\ Logical conjunction (AND) p /\ q
~& NAND - Sheffer stroke p ~& q
~&& NAND - Sheffer stroke p ~&& q
~/\ NAND - Sheffer stroke p ~/\ q
| Logical disjunction (OR) p | q
|| Logical disjunction (OR) p || q
\/ Logical disjunction (OR) p \/ q
~| Logical NOR p ~| q
~|| Logical NOR p ~|| q
~\/ Logical NOR p ~\/ q
(+) Exclusive or (XOR) p (+) q
--> Implication (IMP) p --> q
<-- Converse implication (CIMP) p <-- q
-/> Material nonimplication (NIMP) p -/> q
</- Converse nonimplication (CNIMP) p </- q
<-> Logical biconditional (EQV) p <-> q
~ Negation ~p
 Bitwise Operators
Keyword Description Example
@~ Bitwise unary complement @~10
@& Bitwise AND 10 @& 2
@^ Bitwise exclusive OR 10 @^ 2
@| Bitwise inclusive OR 10 @| 2
@<< Signed left shift 10 @<< 2
@>> Signed right shift 10 @>> 2
 Unary Functions
Keyword Description Example
sin Trigonometric sine function sin(x)
cos Trigonometric cosine function cos(x)
tan Trigonometric tangent function tan(x)
tg Trigonometric tangent function tg(x)
ctan Trigonometric cotangent function ctan(x)
ctg Trigonometric cotangent function ctg(x)
cot Trigonometric cotangent function cot(x)
sec Trigonometric secant function sec(x)
cosec Trigonometric cosecant function cosec(x)
csc Trigonometric cosecant function csc(x)
asin Inverse trigonometric sine function asin(x)
arsin Inverse trigonometric sine function arsin(x)
arcsin Inverse trigonometric sine function arcsin(x)
acos Inverse trigonometric cosine function acos(x)
arcos Inverse trigonometric cosine function arcos(x)
arccos Inverse trigonometric cosine function arccos(x)
atan Inverse trigonometric tangent function atan(x)
arctan Inverse trigonometric tangent function arctan(x)
atg Inverse trigonometric tangent function atg(x)
arctg Inverse trigonometric tangent function arctg(x)
actan Inverse trigonometric cotangent function actan(x)
arcctan Inverse trigonometric cotangent function arcctan(x)
actg Inverse trigonometric cotangent function actg(x)
arcctg Inverse trigonometric cotangent function arcctg(x)
acot Inverse trigonometric cotangent function acot(x)
arccot Inverse trigonometric cotangent function arccot(x)
ln Natural logarithm function (base e) ln(x)
log2 Binary logarithm function (base 2) log2(x)
log10 Common logarithm function (base 10) log10(x)
rad Degrees to radians function rad(x)
exp Exponential function exp(x)
sqrt Squre root function sqrt(x)
sinh Hyperbolic sine function sinh(x)
cosh Hyperbolic cosine function cosh(x)
tanh Hyperbolic tangent function tanh(x)
tgh Hyperbolic tangent function tgh(x)
ctanh Hyperbolic cotangent function ctanh(x)
coth Hyperbolic cotangent function coth(x)
ctgh Hyperbolic cotangent function ctgh(x)
sech Hyperbolic secant function sech(x)
csch Hyperbolic cosecant function csch(x)
cosech Hyperbolic cosecant function cosech(x)
deg Radians to degrees function deg(x)
abs Absolut value function abs(x)
sgn Signum function sgn(x)
floor Floor function floor(x)
ceil Ceiling function ceil(x)
not Negation function not(x)
asinh Inverse hyperbolic sine function asinh(x)
arsinh Inverse hyperbolic sine function arsinh(x)
arcsinh Inverse hyperbolic sine function arcsinh(x)
acosh Inverse hyperbolic cosine function acosh(x)
arcosh Inverse hyperbolic cosine function arcosh(x)
arccosh Inverse hyperbolic cosine function arccosh(x)
atanh Inverse hyperbolic tangent function atanh(x)
arctanh Inverse hyperbolic tangent function arctanh(x)
atgh Inverse hyperbolic tangent function atgh(x)
arctgh Inverse hyperbolic tangent function arctgh(x)
actanh Inverse hyperbolic cotangent function actanh(x)
arcctanh Inverse hyperbolic cotangent function arcctanh(x)
acoth Inverse hyperbolic cotangent function acoth(x)
arcoth Inverse hyperbolic cotangent function arcoth(x)
arccoth Inverse hyperbolic cotangent function arccoth(x)
actgh Inverse hyperbolic cotangent function actgh(x)
arcctgh Inverse hyperbolic cotangent function arcctgh(x)
asech Inverse hyperbolic secant function asech(x)
arsech Inverse hyperbolic secant function arsech(x)
arcsech Inverse hyperbolic secant function arcsech(x)
acsch Inverse hyperbolic cosecant function acsch(x)
arcsch Inverse hyperbolic cosecant function arcsch(x)
arccsch Inverse hyperbolic cosecant function arccsch(x)
acosech Inverse hyperbolic cosecant function acosech(x)
arcosech Inverse hyperbolic cosecant function arcosech(x)
arccosech Inverse hyperbolic cosecant function arccosech(x)
sinc Sinc function (normalized) sinc(x)
Sa Sinc function (normalized) Sa(x)
Sinc Sinc function (unnormalized) Sinc(x)
Bell Bell number Bell(x)
Luc Lucas number Luc(n)
Fib Fibonacci number Fib(n)
harm Harmonic number harm(n)
ispr Prime number test (is number a prime?) ispr(n)
Pi Prime-counting function - Pi(n) Pi(n)
Ei Exponential integral function (non-elementary special function) - usage example: Ei(x) Ei(x)
li Logarithmic integral function (non-elementary special function) - usage example: li(x) li(x)
Li Offset logarithmic integral function (non-elementary special function) - usage example: Li(x) Li(x)
erf Gauss error function (non-elementary special function) - usage example: 2 + erf(x) erf(x)
erfc Gauss complementary error function (non-elementary special function) - usage example: 1 - erfc(x) erfc(x)
erfInv Inverse Gauss error function (non-elementary special function) - usage example: erfInv(x) erfInv(x)
erfcInv Inverse Gauss complementary error function (non-elementary special function) - usage example: erfcInv(x) erfcInv(x)
ulp Unit in The Last Place - ulp(0.1) ulp(x)
 Binary Functions
Keyword Description Example
log Logarithm function log(a,b)
mod Modulo function mod(a,b)
C Binomial coefficient function C(n,k)
Bern Bernoulli numbers Bern(n,k)
Stirl1 Stirling numbers of the first kind Stirl1(n,k)
Stirl2 Stirling numbers of the second kind Stirl2(n,k)
Worp Worpitzky number Worp(n,k)
Euler Euler number Euler(n,k)
KDelta Kronecker delta KDelta(i,j)
EulerPol EulerPol EulerPol(m,x)
Harm Harmonic number Harm(x,n)
rUni Random variable - Uniform continuous distribution U(a,b), usage example: 2*rUni(2,10) rUni(a,b)
rUnid Random variable - Uniform discrete distribution U{a,b}, usage example: 2*rUnid(2,100) rUnid(a,b)
round Half-up rounding, usage examples: round(2.2, 0) = 2, round(2.6, 0) = 3, round(2.66,1) = 2.7 round(x,n)
rNor Random variable - Normal distribution N(m,s) m - mean, s - stddev, usage example: 3*rNor(0,1) rNor(m,s)
 3-args Functions
Keyword Description Example
if If function ( if(con, if_true, if_false) ) if(a=1, 2, 0)
chi Characteristic function for x in (a,b) - chi(x, a, b) chi(x, a, b)
CHi Characteristic function for x in [a,b] - CHi(x, a, b) CHi(x, a, b)
Chi Characteristic function for x in [a,b) - Chi(x, a, b) Chi(x, a, b)
cHi Characteristic function for x in (a,b] - cHi(x, a, b) cHi(x, a, b)
pUni Probability distribution function - Uniform continuous distribution U(a,b), usage example: 2 * pUni(x, 2, 10) pUni(x, a, b)
cUni Cumulative distribution function - Uniform continuous distribution U(a,b), usage example: 2 * cUni(x, 2, 10) cUni(x, a, b)
qUni Quantile function (inverse cumulative distribution function) - Uniform continuous distribution U(a,b), usage example: 2 * qUni(q, 2, 10) qUni(q, a, b)
pNor Probability distribution function - Normal distribution N(m,s) m - mean, s - stddev, usage example: 2 * pNor(x, 1, 2) pNor(x, a, b)
cNor Cumulative distribution function - Normal distribution N(m,s) m - mean, s - stddev, usage example: 2 * cNor(x, 1, 2) cNor(x, a, b)
qNor Quantile function (inverse cumulative distribution function) - Normal distribution N(m,s) m - mean, s - stddev, usage example: 2 * qNor(q, 1, 2) qNor(q, a, b)
 Variadic Functions
Keyword Description Example
iff If function ( iff(con_1, if_true_1_exp, ..., con_n, if_true_n_exp) ) iff(x=1, 1; x=2, 2; x=3, 3)
min Minimum function: min(a,b,c,...) min(2,3,1)
max Maximum function: max(a,b,c,...) max(2,3,1)
ConFrac Continued fraction: ConFrac(a,b,c,...) ConFrac(5,1,2,4)
ConPol Continued polynomial: ConPol(a,b,c,...) ConPol(5,1,2,4)
gcd Greatest common divisor: gcd(a,b,c,...) gcd(5,1,2,4)
lcm Least common multiple: lcm(a,b,c,...) lcm(5,1,2,4)
add Summation operator add(a1,a2,a3,...,an) add(5,1,2,4)
multi Multiplication multi(a1,a2,a3,...,an) multi(5,1,2,4)
mean Mean / average value mean(a1,a2,a3,...,an) mean(5,1,2,4)
var Bias-corrected sample variance var(a1,a2,a3,...,an) var(5,1,2,4)
std Bias-corrected sample standard deviation std(a1,a2,a3,...,an) std(5,1,2,4)
rList Random number from given list of numbers rList(a1,a2,a3,...,an) rList(5,1,2,4)
 Iterated Operators
Keyword Description Example
sum Summation operator (SIGMA) sum(i, from, to, f(i,...) <,BY>) sum(i, 1, 10, i^2), sum(i, 1, 10, i^2, 0.5)
prod Product operator (PI) prod(i, from, to, f(i,...) <,BY>) prod(i, 1, 10, i^2), prod(i, 1, 10, i^2, 0.5)
avg Average operator avg(i, from, to, f(i,...) <,BY>) avg(i, 1, 10, i^2), avg(i, 1, 10, i^2, 0.2)
vari Bias-corrected sample variance operator vari(i, from, to, f(i,...) <,BY>) vari(i, 1, 10, i^2), vari(i, 1, 10, i^2, 0.5)
stdi Bias-corrected sample standard deviation operator stdi(i, from, to, f(i,...) <,BY>) stdi(i, 1, 10, i^2), stdi(i, 1, 10, i^2, 0.01)
mini Minimum value mini(i, from, to, f(i,...) <,BY>) mini(i, 1, 10, i^2), mini(i, 1, 10, i^2, 0.3)
maxi Maximum value maxi(i, from, to, f(i,...) <,BY>) maxi(i, 1, 10, i^2), maxi(i, 1, 10, i^2, 0.4)
 Calculus Operators
Keyword Description Example
int Definite integral operator ( int(f(x,...), x, a, b) ) inf(sin(x), x, 0, pi)
der Derivative operator ( der(f(x,...), x) ) der(sin(x), x)
der- Left derivative operator ( der-(f(x,...), x) ) der+(sin(x), x)
der+ Right derivative operator ( der+(f(x,...), x) ) der-(sin(x), x)
dern N-th derivative operator ( dern(f(x,...), x) ) dern(x^2, 2, x)
diff Forward difference operator diff(f(x,...), x <,h>) diff(sin(x), x), diff(f(x), x, 0.1)
difb Backward difference operator difb(f(x,...), x <,h>) difb(sin(x), x), difb(f(x), x, 0.1)
int Definite integral operator ( int(f(x,...), x, a, b) ) inf(sin(x), x, 0, pi)
 Mathematical Constants
Keyword Description Example
pi Pi, Archimedes' constant or Ludolph's number 2*pi
e Napier's constant, or Euler's number, base of Natural logarithm e*3
[gam] Euler-Mascheroni constant 2*[gam]
[phi] Golden ratio [phi]*3
[PN] Plastic constant 2*[PN]
[B*] Embree-Trefethen constant [B*]*3
[F'd] Feigenbaum constant alfa 2*[F'd]
[F'a] Feigenbaum constant delta [F'a]*3
[C2] Twin prime constant 2*[C2]
[M1] Meissel-Mertens constant [M1]*3
[B2] Brun's constant for twin primes 2*[B2]
[B4] Brun's constant for prime quadruplets [B4]*3
[BN'L] De Bruijn-Newman constant 2*[BN'L]
[Kat] Catalan's constant [Kat]*3
[K*] Landau-Ramanujan constant 2*[K*]
[K.] Viswanath's constant [K.]*3
[B'L] Legendre's constant 2*[B'L]
[RS'm] Ramanujan-Soldner constant [RS'm]*3
[EB'e] Erdos-Borwein constant 2*[EB'e]
[Bern] Bernstein's constant [Bern]*3
[GKW'l] Gauss-Kuzmin-Wirsing constant 2*[GKW'l]
[HSM's] Hafner-Sarnak-McCurley constant [HSM's]*3
[lm] Golomb-Dickman constant 2*[lm]
[Cah] Cahen's constant [Cah]*3
[Ll] Laplace limit 2*[Ll]
[AG] Alladi-Grinstead constant [AG]*3
[L*] Lengyel's constant 2*[L*]
[L.] Levy's constant [L.]*3
[Dz3] Apery's constant 2*[Dz3]
[A3n] Mills' constant [A3n]*3
[Bh] Backhouse's constant 2*[Bh]
[Pt] Porter's constant [Pt]*3
[L2] Lieb's square ice constant 2*[L2]
[Nv] Niven's constant [Nv]*3
[Ks] Sierpinski's constant 2*[Ks]
[Kh] Khinchin's constant [Kh]*3
[FR] Fransen-Robinson constant 2*[FR]
[La] Landau's constant [La]*3
[P2] Parabolic constant 2*[P2]
[Om] Omega constant [Om]*3
[MRB] MRB constant 2*[MRB]
[li2] li(2) - logarithmic integral function at x=2 [li2]*3
[EG] Gompertz constant 2*[EG]
 Physical Constants
Keyword Description Example
[c] <Physical Constant> Light speed in vacuum [m/s] (m=1, s=1) [c]*3
[G.] <Physical Constant> Gravitational constant (m=1, kg=1, s=1)] 2*[G.]
[g] <Physical Constant> Gravitational acceleration on Earth [m/s^2] (m=1, s=1) [g]*3
[hP] <Physical Constant> Planck constant (m=1, kg=1, s=1) 2*[hP]
[h-] <Physical Constant> Reduced Planck constant / Dirac constant (m=1, kg=1, s=1)] [h-]*3
[lP] <Physical Constant> Planck length [m] (m=1) 2*[lP]
[mP] <Physical Constant> Planck mass [kg] (kg=1) [mP]*3
[tP] <Physical Constant> Planck time [s] (s=1) 2*[tP]
 Astronomical Constants
Keyword Description Example
[ly] <Astronomical Constant> Light year [m] (m=1) [ly]*3
[au] <Astronomical Constant> Astronomical unit [m] (m=1) 2*[au]
[pc] <Astronomical Constant> Parsec [m] (m=1) [pc]*3
[kpc] <Astronomical Constant> Kiloparsec [m] (m=1) 2*[kpc]
[Earth-R-eq] <Astronomical Constant> Earth equatorial radius [m] (m=1) [Earth-R-eq]*3
[Earth-R-po] <Astronomical Constant> Earth polar radius [m] (m=1) 2*[Earth-R-po]
[Earth-R] <Astronomical Constant> Earth mean radius (m=1) [Earth-R]*3
[Earth-M] <Astronomical Constant> Earth mass [kg] (kg=1) 2*[Earth-M]
[Earth-D] <Astronomical Constant> Earth-Sun distance - semi major axis [m] (m=1) [Earth-D]*3
[Moon-R] <Astronomical Constant> Moon mean radius [m] (m=1) 2*[Moon-R]
[Moon-M] <Astronomical Constant> Moon mass [kg] (kg=1) [Moon-M]*3
[Moon-D] <Astronomical Constant> Moon-Earth distance - semi major axis [m] (m=1) 2*[Moon-D]
[Solar-R] <Astronomical Constant> Solar mean radius [m] (m=1) [Solar-R]*3
[Solar-M] <Astronomical Constant> Solar mass [kg] (kg=1) 2*[Solar-M]
[Mercury-R] <Astronomical Constant> Mercury mean radius [m] (m=1) [Mercury-R]*3
[Mercury-M] <Astronomical Constant> Mercury mass [kg] (kg=1) 2*[Mercury-M]
[Mercury-D] <Astronomical Constant> Mercury-Sun distance - semi major axis [m] (m=1) [Mercury-D]*3
[Venus-R] <Astronomical Constant> Venus mean radius [m] (m=1) 2*[Venus-R]
[Venus-M] <Astronomical Constant> Venus mass [kg] (kg=1) [Venus-M]*3
[Venus-D] <Astronomical Constant> Venus-Sun distance - semi major axis [m] (m=1) 2*[Venus-D]
[Mars-R] <Astronomical Constant> Mars mean radius [m] (m=1) [Mars-R]*3
[Mars-M] <Astronomical Constant> Mars mass [kg] (kg=1) 2*[Mars-M]
[Mars-D] <Astronomical Constant> Mars-Sun distance - semi major axis [m] (m=1) [Mars-D]*3
[Jupiter-R] <Astronomical Constant> Jupiter mean radius [m] (m=1) 2*[Jupiter-R]
[Jupiter-M] <Astronomical Constant> Jupiter mass [kg] (kg=1) [Jupiter-M]*3
[Jupiter-D] <Astronomical Constant> Jupiter-Sun distance - semi major axis [m] (m=1) 2*[Jupiter-D]
[Saturn-R] <Astronomical Constant> Saturn mean radius [m] (m=1) [Saturn-R]*3
[Saturn-M] <Astronomical Constant> Saturn mass [kg] (kg=1) 2*[Saturn-M]
[Saturn-D] <Astronomical Constant> Saturn-Sun distance - semi major axis [m] (m=1) [Saturn-D]*3
[Uranus-R] <Astronomical Constant> Uranus mean radius [m] (m=1) 2*[Uranus-R]
[Uranus-M] <Astronomical Constant> Uranus mass [kg] (kg=1) [Uranus-M]*3
[Uranus-D] <Astronomical Constant> Uranus-Sun distance - semi major axis [m] (m=1) 2*[Uranus-D]
[Neptune-R] <Astronomical Constant> Neptune mean radius [m] (m=1) [Neptune-R]*3
[Neptune-M] <Astronomical Constant> Neptune mass [kg] (kg=1) 2*[Neptune-M]
[Neptune-D] <Astronomical Constant> Neptune-Sun distance - semi major axis [m] (m=1) [Neptune-D]*3
 Random Variables
Keyword Description Example
[Uni] Random variable - Uniform continuous distribution U(0,1), usage example: 2*[Uni] 2*[Uni]
[Int] Random variable - random integer - usage example sin( 3*[Int] ) [Int]*3
[Int1] Random variable - random integer - Uniform discrete distribution U{-10^1, 10^1} - usage example sin( 3*[Int1] ) 2*[Int1]
[Int2] Random variable - random integer - Uniform discrete distribution U{-10^2, 10^2} - usage example sin( 3*[Int2] ) [Int2]*3
[Int3] Random variable - random integer - Uniform discrete distribution U{-10^3, 10^3} - usage example sin( 3*[Int3] ) 2*[Int3]
[Int4] Random variable - random integer - Uniform discrete distribution U{-10^4, 10^4} - usage example sin( 3*[Int4] ) [Int4]*3
[Int5] Random variable - random integer - Uniform discrete distribution U{-10^5, 10^5} - usage example sin( 3*[Int5] ) 2*[Int5]
[Int6] Random variable - random integer - Uniform discrete distribution U{-10^6, 10^6} - usage example sin( 3*[Int6] ) [Int6]*3
[Int7] Random variable - random integer - Uniform discrete distribution U{-10^7, 10^7} - usage example sin( 3*[Int7] ) 2*[Int7]
[Int8] Random variable - random integer - Uniform discrete distribution U{-10^8, 10^8} - usage example sin( 3*[Int8] ) [Int8]*3
[Int9] Random variable - random integer - Uniform discrete distribution U{-10^9, 10^9} - usage example sin( 3*[Int9] ) 2*[Int9]
[nat] Random variable - random natural number including 0 - usage example sin( 3*[nat] ) [nat]*3
[nat1] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^1} - usage example sin( 3*[nat1] ) 2*[nat1]
[nat2] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^2} - usage example sin( 3*[nat2] ) [nat2]*3
[nat3] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^3} - usage example sin( 3*[nat3] ) 2*[nat3]
[nat4] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^4} - usage example sin( 3*[nat4] ) [nat4]*3
[nat5] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^5} - usage example sin( 3*[nat5] ) 2*[nat5]
[nat6] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^6} - usage example sin( 3*[nat6] ) [nat6]*3
[nat7] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^7} - usage example sin( 3*[nat7] ) 2*[nat7]
[nat8] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^8} - usage example sin( 3*[nat8] ) [nat8]*3
[nat9] Random variable - random natural number including 0 - Uniform discrete distribution U{0, 10^9} - usage example sin( 3*[nat9] ) 2*[nat9]
[Nat] Random variable - random natural number - usage example sin( 3*[Nat] ) [Nat]*3
[Nat1] Random variable - random natural number - Uniform discrete distribution U{1, 10^1} - usage example sin( 3*[Nat1] ) 2*[Nat1]
[Nat2] Random variable - random natural number - Uniform discrete distribution U{1, 10^2} - usage example sin( 3*[Nat2] ) [Nat2]*3
[Nat3] Random variable - random natural number - Uniform discrete distribution U{1, 10^3} - usage example sin( 3*[Nat3] ) 2*[Nat3]
[Nat4] Random variable - random natural number - Uniform discrete distribution U{1, 10^4} - usage example sin( 3*[Nat4] ) [Nat4]*3
[Nat5] Random variable - random natural number - Uniform discrete distribution U{1, 10^5} - usage example sin( 3*[Nat5] ) 2*[Nat5]
[Nat6] Random variable - random natural number - Uniform discrete distribution U{1, 10^6} - usage example sin( 3*[Nat6] ) [Nat6]*3
[Nat7] Random variable - random natural number - Uniform discrete distribution U{1, 10^7} - usage example sin( 3*[Nat7] ) 2*[Nat7]
[Nat8] Random variable - random natural number - Uniform discrete distribution U{1, 10^8} - usage example sin( 3*[Nat8] ) [Nat8]*3
[Nat9] Random variable - random natural number - Uniform discrete distribution U{1, 10^9} - usage example sin( 3*[Nat9] ) 2*[Nat9]
[Nor] Random variable - Normal distribution N(0,1) - usage example cos( 3*[Nor]+1 ) [Nor]*3
 Metric Prefixes
Keyword Description Example
[%] <Ratio, Fraction> Percentage = 0.01 2*[%]
[%%] <Ratio, Fraction> Promil, Per mille = 0.001 [%%]*3
[Y] <Metric prefix> Septillion / Yotta = 10^24 2*[Y]
[sept] <Metric prefix> Septillion / Yotta = 10^24 [sept]*3
[Z] <Metric prefix> Sextillion / Zetta = 10^21 2*[Z]
[sext] <Metric prefix> Sextillion / Zetta = 10^21 [sext]*3
[E] <Metric prefix> Quintillion / Exa = 10^18 2*[E]
[quint] <Metric prefix> Quintillion / Exa = 10^18 [quint]*3
[P] <Metric prefix> Quadrillion / Peta = 10^15 2*[P]
[quad] <Metric prefix> Quadrillion / Peta = 10^15 [quad]*3
[T] <Metric prefix> Trillion / Tera = 10^12 2*[T]
[tril] <Metric prefix> Trillion / Tera = 10^12 [tril]*3
[G] <Metric prefix> Billion / Giga = 10^9 2*[G]
[bil] <Metric prefix> Billion / Giga = 10^9 [bil]*3
[M] <Metric prefix> Million / Mega = 10^6 2*[M]
[mil] <Metric prefix> Million / Mega = 10^6 [mil]*3
[k] <Metric prefix> Thousand / Kilo = 10^3 2*[k]
[th] <Metric prefix> Thousand / Kilo = 10^3 [th]*3
[hecto] <Metric prefix> Hundred / Hecto = 10^2 2*[hecto]
[hund] <Metric prefix> Hundred / Hecto = 10^2 [hund]*3
[deca] <Metric prefix> Ten / Deca = 10 2*[deca]
[ten] <Metric prefix> Ten / Deca = 10 [ten]*3
[deci] <Metric prefix> Tenth / Deci = 0.1 2*[deci]
[centi] <Metric prefix> Hundredth / Centi = 0.01 [centi]*3
[milli] <Metric prefix> Thousandth / Milli = 0.001 2*[milli]
[mic] <Metric prefix> Millionth / Micro = 10^-6 [mic]*3
[n] <Metric prefix> Billionth / Nano = 10^-9 2*[n]
[p] <Metric prefix> Trillionth / Pico = 10^-12 [p]*3
[f] <Metric prefix> Quadrillionth / Femto = 10^-15 2*[f]
[a] <Metric prefix> Quintillionth / Atoo = 10^-18 [a]*3
[z] <Metric prefix> Sextillionth / Zepto = 10^-21 2*[z]
[y] <Metric prefix> Septillionth / Yocto = 10^-24 [y]*3
 Units of Length
Keyword Description Example
[m] <Unit of length> Metre / Meter (m=1) 2*[m]
[km] <Unit of length> Kilometre / Kilometer (m=1) [km]*3
[cm] <Unit of length> Centimetre / Centimeter (m=1) 2*[cm]
[mm] <Unit of length> Millimetre / Millimeter (m=1) [mm]*3
[inch] <Unit of length> Inch (m=1) 2*[inch]
[yd] <Unit of length> Yard (m=1) [yd]*3
[ft] <Unit of length> Feet (m=1) 2*[ft]
[mile] <Unit of length> Mile (m=1) [mile]*3
[nmi] <Unit of length> Nautical mile (m=1) 2*[nmi]
 Units of Area
Keyword Description Example
[m2] <Unit of area> Square metre / Square meter (m=1) [m2]*3
[cm2] <Unit of area> Square centimetre / Square centimeter (m=1) 2*[cm2]
[mm2] <Unit of area> Square millimetre / Square millimeter (m=1) [mm2]*3
[are] <Unit of area> Are (m=1) 2*[are]
[ha] <Unit of area> Hectare (m=1) [ha]*3
[acre] <Unit of area> Acre (m=1) 2*[acre]
[km2] <Unit of area> Square kilometre / Square kilometer (m=1) [km2]*3
 Units of Volume
Keyword Description Example
[mm3] <Unit of volume> Cubic millimetre / Cubic millimeter (m=1) 2*[mm3]
[cm3] <Unit of volume> Cubic centimetre / Cubic centimeter (m=1) [cm3]*3
[m3] <Unit of volume> Cubic metre / Cubic meter (m=1) 2*[m3]
[km3] <Unit of volume> Cubic kilometre / Cubic kilometer (m=1) [km3]*3
[ml] <Unit of volume> Millilitre / Milliliter (m=1) 2*[ml]
[l] <Unit of volume> Litre / Liter (m=1) [l]*3
[gall] <Unit of volume> Gallon (m=1) 2*[gall]
[pint] <Unit of volume> Pint (m=1) [pint]*3
 Units of Time
Keyword Description Example
[s] <Unit of time> Second (s=1) 2*[s]
[ms] <Unit of time> Millisecond (s=1) [ms]*3
[min] <Unit of time> Minute (s=1) 2*[min]
[h] <Unit of time> Hour (s=1) [h]*3
[day] <Unit of time> Day (s=1) 2*[day]
[week] <Unit of time> Week (s=1) [week]*3
[yearj] <Unit of time> Julian year = 365.25 days (s=1) 2*[yearj]
 Units of Mass
Keyword Description Example
[kg] <Unit of mass> Kilogram (kg=1) [kg]*3
[gr] <Unit of mass> Gram (kg=1) 2*[gr]
[mg] <Unit of mass> Milligram (kg=1) [mg]*3
[dag] <Unit of mass> Decagram (kg=1) 2*[dag]
[t] <Unit of mass> Tonne (kg=1) [t]*3
[oz] <Unit of mass> Ounce (kg=1) 2*[oz]
[lb] <Unit of mass> Pound (kg=1) [lb]*3
 Units of Information
Keyword Description Example
[b] <Unit of information> Bit (bit=1) 2*[b]
[kb] <Unit of information> Kilobit (bit=1) [kb]*3
[Mb] <Unit of information> Megabit (bit=1) 2*[Mb]
[Gb] <Unit of information> Gigabit (bit=1) [Gb]*3
[Tb] <Unit of information> Terabit (bit=1) 2*[Tb]
[Pb] <Unit of information> Petabit (bit=1) [Pb]*3
[Eb] <Unit of information> Exabit (bit=1) 2*[Eb]
[Zb] <Unit of information> Zettabit (bit=1) [Zb]*3
[Yb] <Unit of information> Yottabit (bit=1) 2*[Yb]
[B] <Unit of information> Byte (bit=1) [B]*3
[kB] <Unit of information> Kilobyte (bit=1) 2*[kB]
[MB] <Unit of information> Megabyte (bit=1) [MB]*3
[GB] <Unit of information> Gigabyte (bit=1) 2*[GB]
[TB] <Unit of information> Terabyte (bit=1) [TB]*3
[PB] <Unit of information> Petabyte (bit=1) 2*[PB]
[EB] <Unit of information> Exabyte (bit=1) [EB]*3
[ZB] <Unit of information> Zettabyte (bit=1) 2*[ZB]
[YB] <Unit of information> Yottabyte (bit=1) [YB]*3
 Units of Energy
Keyword Description Example
[J] <Unit of energy> Joule (m=1, kg=1, s=1) 2*[J]
[eV] <Unit of energy> Electronovolt (m=1, kg=1, s=1) [eV]*3
[keV] <Unit of energy> Kiloelectronovolt (m=1, kg=1, s=1) 2*[keV]
[MeV] <Unit of energy> Megaelectronovolt (m=1, kg=1, s=1) [MeV]*3
[GeV] <Unit of energy> Gigaelectronovolt (m=1, kg=1, s=1) 2*[GeV]
[TeV] <Unit of energy> Teraelectronovolt (m=1, kg=1, s=1) [TeV]*3
 Units of Speed
Keyword Description Example
[m/s] <Unit of speed> Metre / Meter per second (m=1, s=1) 2*[m/s]
[km/h] <Unit of speed> Kilometre / Kilometer per hour (m=1, s=1) [km/h]*3
[mi/h] <Unit of speed> Mile per hour (m=1, s=1) 2*[mi/h]
[knot] <Unit of speed> Knot (m=1, s=1) [knot]*3
 Units of Acceleration
Keyword Description Example
[m/s2] <Unit of acceleration> Metre / Meter per square second (m=1, s=1) 2*[m/s2]
[km/h2] <Unit of acceleration> Kilometre / Kilometer per square hour (m=1, s=1) [km/h2]*3
[mi/h2] <Unit of acceleration> Mile per square hour (m=1, s=1) 2*[mi/h2]
 Units of Angle
Keyword Description Example
[rad] <Unit of angle> Radian (rad=1) [rad]*pi
[deg] <Unit of angle> Degree of arc (rad=1) 180*[deg]
['] <Unit of angle> Minute of arc (rad=1) [']*3
[''] <Unit of angle> Second of arc (rad=1) 2*['']
 Parser Symbol
Keyword Description Example
( Left parentheses (3+2)/4
) Right parentheses (3+2)/4
, Comma (function parameters) min(2,3,1)
; Semicolon (function parameters) min(2;3;1)

Placeholders, PUTs, and Assignments

TouchPoint’s Placeholder, PUT, and Assignment features work hand in hand to add considerable power to your marketing campaigns. They let you create and populate fields based on your own conditions, then reference these fields in subsequent segments or output them to your mail file or email engine. For example, you might decide to create a field called PURCHASE_CATEGORY, then populate it with values such as “Outdoor” or “Cooking” according to the types of products purchased and amount spent by each customer. Having created this field, you can then reference it in your campaign segments as if it were in your database; or you can write it to an output file or pass it as dynamic content in an email.

Placeholders are custom campaign variables that attach to each individual in your campaign universe. They’re called Placeholders because they’re created as blank fields in your campaign work table, but then get assigned by the segmentation logic (using the PUT command) during campaign processing.

The PUT command is how you assign values to placeholders. You can assign a constant value, like ‘Y’ or ‘N’, a database field like Gender or Income, or even a calculated value such as total dollars spent within a given time period. PUTs can be useful for prospecting and list allocation, where a single individual can exist on multiple lists, because you can use a PUT to capture what list - or even all matching lists - to credit for the prospect. Also, a segment can have multiple PUT commands.

Finally, Assignments are special segments that exist solely for assigning values to Placeholders. Assignment segments never select individuals. Instead, the logic is evaluated and if found true, the PUT commands attached to these segments are executed. You can think of this as setting a flag on each consumer based on whether a set of conditions is true, although technically a PUT command can assign any type of data to a Placeholder: numeric, character, dates, etc.

  • Placeholders are not useful without PUTs.
  • PUTs cannot be created without Placeholders.
  • Assignment segments cannot be created without Placeholders and PUTs.

Placeholder Fields

TouchPoint Placeholders are blank fields on your campaign work table that you assign values to during the campaign processing. Unlike Pass-Thru fields, Placeholders are useful in cases where you need to capture specific data based on what segment selected each individual. Placeholders fields are required before you can create a PUT Command.

To Create a Placeholder Field

Placeholder fields can be created from the Assignments dialog or from the PUT Manager.

From the Assignments Dialog:

  1. From the TouchPoint Criteria tab, either click the Assignments toolbar button () or click the Criteria menu and choose Assignments.
  2. From the Assignments dialog, Switch to the Put Placeholders
  3. From the toolbar, choose the New Placeholder button ().
  4. Complete the Placeholder dialog, then click OK.

From the PUT Manager:

  1. Click any selection segment in your campaign.
  2. Click on the PUT property in the Properties Pane to open PUT Manager.
  3. From the toolbar, choose the New Placeholder button ().
  4. Complete the Placeholder dialog, then click OK.

The Placeholder DialogThe PUT Command

PUT commands are used inside TouchPoint segments to write (or PUT) data specific to each person selected by that segment into Placeholder variables. The data can be a constant string, a field from another table, an expression, an aggregate, and even a User Defined Function (UDF).

To Add a PUT Command to a Segment

  1. Locate the segment PUT property in the Properties Pane.
  2. Click the ellipsis button to open PUT Manager.
  3. Enter your PUT data, choose a Placeholder Field, and set an option if needed.
  4. Click OK to commit your changes and close the dialog.

PUT command in Segment Properties Pane

  • PUT commands are only executed if the segment evaluates to TRUE for the individual being processed.
  • Exclude segments cannot have PUT commands, but parent segments can.
  • Multiple PUT commands can be created for a segment.

PUT Manager

TouchPoint’s PUT Manager lets you create, delete, and edit PUT commands.

Put ManagerElements of PUT Commands

There are three elements needed to create a PUT command.

The PUT command

Element

Purpose

PUT Data

The data being put into the Placeholder field. Can be a field, aggregate, user-defined function (UDF), variable, or constant text.

“Into” Destination

The Placeholder field that will contain the PUT data.

“Or” Option

Indicates what PUT should do if the Placeholder has already been assigned data. Available options are  Discard, Append, and Overwrite.

The PUT Manager Toolbar

The following commands are available on the PUT Manager toolbar.


Command

Purpose

Add

Creates a new PUT command

Remove

Deletes the selected PUT command

New Placeholder

Opens the Placeholder dialog to create a new Placeholder field

Copy

Copies the selected PUTs to the clipboard

Paste

Pastes PUTs from the clipboard to the cursor position

Assignment Segments

TouchPoint Assignment Segments are used for the sole purpose of executing PUT Commands, which assign values to Placeholder Fields. Assignment segments don’t appear in the campaign selection criteria because they don’t actually “select” anything, they’re simply evaluated for each person being processed by the campaign. Think of Assignment Segments as a way to create variables that you can use just like a field in other places within TouchPoint.

To Create an Assignment Segment

  1. From the TouchPoint Criteria tab, either click the Assignments toolbar button () or click the Criteria menu and choose Assignments.
  2. On the Assignments dialog, either (a) click the New Assignment Segment button (), or (b) drag the “(New Segment)” item from the tree on the left and drop it beneath the Assignments node on the right. You can also drag an existing segment from the library and drop it beneath the Assignments node.
  3. In the Segment Editor, define your segment conditions, then click OK to return to the Assignments dialog.
  4. Click the PUT ellipsis button to open PUT Manager.
  5. On the PUT Manager, add one or more PUT commands, then click OK to return to the Assignments dialog.
  6. Click OK to save your Assignments and return to TouchPoint.
  • Assignment Segments cannot be completed without one or more Placeholder Fields.
  • At least one PUT Command is required for each Assignment segment.

The Assignments Dialog

The Assignments dialog lets you create Assignment segments, Placeholder Fields, and PUT commands. It has two tabs:

  • The Assignment Segments tab is where Assignment segments are created, edited, and deleted, along with their associated PUT commands.
  • The PUT Placeholders tab is where you manage Placeholder Fields.

Assignment Segments Tab

There are three steps involved in creating an assignment segment:

  1. Make sure you have at least one Placeholder Field
  2. Using the Segment Editor, create your Assignment segment criteria, give the segment a name, and click OK.
  3. Click the ellipsis button in the Puts column to open the PUT Manager, then create the PUTs you want the segment to execute.

Put Placeholders Tab

This tab lets you view, create, edit, and delete Placeholder Fields. To create one:

  1. From the toolbar, choose the New Placeholder button ().
  2. Type in a name for the field, choose a datatype, and enter a default value if desired.
  3. Click OK.

The Assignments Dialog Toolbar

The following commands are available on the Assignments dialog toolbar.


Command

Purpose

New Assignment Segment

Creates a new Assignment Segment.

New Placeholder

Creates a new Placeholder Field.

Edit

Edits the selected Assignment Segment or Placeholder Field.

Remove

Deletes the selected Assignment Segment or Placeholder Field.

Clear

Clears all Assignment Segments or Placeholder Fields.

Constraints

TouchPoint Constraints are used to apply additional filtering against your campaign universe. Common uses of constraints include:

  • Householding; e.g., one catalog or direct mail piece per household.
  • Max-per-site, such as 5 pieces per company.
  • One solicit per email address, for email campaigns.

Note

Before you can use constraints, you must pass through all the fields the constraint needs to reference. For example, a “one per email address” constraint requires the email address to be selected as a Pass-Thru field.

You can create multiple constraints; for example, a campaign targeting both businesses and consumer can apply both a max-per-site constraint to businesses as well as a one-per-household constraint to consumers. Generally speaking, whenever you need to limit campaign output to a certain number of solicits for each value of another field, constraints are probably the best option.

Constraints are available from three places within TouchPoint:

  • From TouchPoint’s Criteria and Tracking tabs, either by clicking the Constraints toolbar button (  ) or by choosing Campaign > Apply Constraints from the menu.
  • From TouchPoint’s MarketFlow tab, in Branch Manager, by clicking the Constraints toolbar button.
  • From TouchPoint’s MarketFlow tab, in the Touch action, by clicking the Constraints toolbar button.

The Constraints Dialog

The Constraints Dialog lets you add, edit, and delete constraints. Each constraint is shown as a separate row in a grid, and they’re evaluated from the top down.

Constraint Attributes

Following are the attributes shown for each constraint.

Column

Purpose

Field

The field on which a constraint is based. For example, a “one per household” constraint will be based on a household identifier (e.g., HouseholdID).

Filter

This column lets you apply a filter to your constraint. For example, if you want to apply a constraint to businesses, you might enter a filter like “BusinessFlag = ‘Y’”.

Description

Enter a description of your constraint here.

Limit

This is the number of solicits you want to allow for each value of the selected field. For example, if you want to mail one per household, your field will be the household identifier, and your limit will be one.

Priority

This attribute lets you decide how TouchPoint should choose the records that are chosen for output. Refer to the Constraint Priority section for more information.

Order

Order works in conjunction with Priority, letting you sort the data either ascending or descending.

Sites

This column indicates the total number of values for the Field that was chosen in column one, after applying the Filter specified in column two.

Contacts

This column shows the total number of records (i.e., selected consumers) that match the specified Filter.

Kept

The Kept column shows the number of Contacts that survived the constraint. These are the consumers that will be solicited.

Type

This indicates the type of constraint. There are basically two: a standard constraint and an advanced SQL constraint. The SQL version can be saved to a script file or type directly into a window. SQL constraints are advanced features that require knowledge of SQL programming, but they’re very powerful.

Script

If the Type column is set to “SQL Script”, this points to what script is being used.

The Constraint Toolbar

The following commands are available on the Constraint Toolbar.

Option

Description

Adds a constraint.

Duplicates the active constraint (row).

Deletes the active constraint (row).

Creates a filter on the highlighted constraint.

Moves a constraint (row) up.

Moves a constraint (row) down. 

If the highlighted constraint is SQL, this option opens the SQL query for editing.

-

Applies the constraints

Runs only the highlighted constraint

Validates your constraints by checking for errors

Constraint Priority

Once you enter the number of contacts you want to solicit per site, TouchPoint lets you choose which contacts to select. You can prioritize your solicitation in three ways:

Random - This option randomly selects contacts from your universe up to the number, or limit, you specify.

Cell - This option selects contacts based on where in the selection hierarchy they were chosen. Setting [Cell] as the priority directs TouchPoint, by default, to favor contacts that fall in the highest cells in the hierarchy.

(Pass-Thru Field) - If you select a field, TouchPoint sorts by that field (either ascending or descending based on the “Order” setting), then chooses the top xx records until the “Limit” is met.

TouchPoint Selection Criteria Menu and Toolbar

The TouchPoint toolbar provides quick access to commonly used commands in the TouchPoint Criteria tab. Click the icon once to carry out the action represented by that icon.

Icon

Description

Menu Equivalent

Opens a new TouchPoint

File > New

Opens the "Open" Dialog.

File > Open

Saves the TouchPoint

File > Save

Opens the Print Preview Dialog.

File > Print

Opens the Campaign/Frequency Report Dialog.

File > Reports

Opens the Scheduler module.

File > Schedule

Opens the Properties Dialog.

File > Properties

--

Exits the TouchPoint module.

File > Exit

Allows you to Sequentially undo up to the last 20 actions.

Edit > Undo

Allows you to Sequentially redo up to the last 20 actions.

Edit > Redo

Copies the selected content.

Edit > Copy

Pastes the clipboard content.

Edit > Paste

Removes everything in the description section.

Edit > Clear Criteria

Applies change to all highlighted cells.

Edit > Fill...

Displays the description section in the classic view

Edit > Classic

Displays the description section in the classic view

Edit > Compact

Opens the Constraints dialog, allowing you to enter criteria for selecting contacts. 

Edit > Apply Constraints

Checks your campaign to see if it is valid prior to submitting or posting.

Edit > Validate

Submits your open campaign for execution.

Edit > Submit