Query vs. classic query: which should you use?

Classic queries were replaced by queries after the 8.4 release.

  • Queries use the legacy user interface that is based on the Acoustic Campaign programs drag-and-drop decision diamonds and includes new behaviors. This query builder does just about everything that the classic builder does, but contains lots of extras that enable you to add interesting behavior elements to your segmentation. The UI is also more intuitive and easier to use than the classic query builder, and much easier on the eyes as well.
  • Classic queries are available to Acoustic Campaign users for segmenting data and helping marketers deliver more engaging content to their customers and prospects.

Comparing queries and classic queries

Deciding if you should use query or classic query depends on which features you want to use for your emails. Let's look at a comparison of both query types. The table below provides an overview of features each query type may or may not support.

Feature Queries Classic queries
Field type change option for operators No, only operators that match the field type are presented in the drop down Yes, Type can be changed to get operators that don't match the type of the field
Calculate Yes, triggers data job Yes, triggers data job

Math in value

No, but, most things that required math are now covered in new operators Yes
Has (not) Been Sent Email - mailing type Queries all sends to selected mailing template Queries specific sent mailings
Relational table data Yes. Acoustic Campaign does not yet offer aggregate operators. Yes
Locked criteria Yes Yes
CRM opportunity data/criteria Yes Yes (CRM lead source only)
Create via API Yes Yes
Dynamic content Yes, includes more options like 'is in query', behaviors, and relational table data Yes
Segmenting Yes Yes
Purge function Yes Yes
Contact source Yes, you can choose a new email query as the contact source for emails, landing pages, and sending. Yes
Contact source for automated A/B testing Yes No
Contact lists Yes, can be associated with your web forms and selected by the user or imported/added by you. Yes
Sending to multiple queries Yes No
Case sensitivity toggle No, everything is case insensitive Yes, a setting you can toggle for each profile criteria
Behavior criteria

Yes

  • Clicked any link in an email
  • Opened an email
  • Clicked a specific link in an email
  • Been sent email
  • Submitted a web form
  • Has been in a program
  • Viewed a web page
  • Visited a web site
  • Downloaded a file
  • CRM opportunity

Yes

  • Opened an email
  • Clicked in an email
  • Bounced an email
Is In query

Yes, but watch out for circular references. Circular references are when two queries A and B reference on another.

No
Queries created as classic queries No Yes
Fields for personalization No Yes
Export results Yes Yes
Current date as value option No, but 'Is Today' operator is used for same result as classic queries 'Current Date' value Yes
Easy to use Yes Sufficient

Same criteria, different results in queries and classic queries

With the ability to create two different queries in Acoustic Campaign, you might find that if criteria appear to be the same, results can be different. For example, the following are two different queries with different results.

Query

WHEN customer_opt_in_opg is equal to Yes

OR language is equal to EN

OR country is equal to GB

OR partner_account_type is not equal to Press

Result: Count = 3612

Classic query

[customer_opt_in_opg] equals Yes

OR [language] equals EN

OR [country] equals GB

OR [partner_account_type] does not equal Press

Result: Count = 96

Reason for different results:

The two queries resulted in different results because of the blank/null in the parent database. Even though the criteria is the same, looking for the same recipients in the database, the classic query needs to be further defined to include other values, whereas query does include these other values.

The following table lists differences and how to have both queries populate the same results.

Examples of criteria differences

Classic query Query

Date: does not equal ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Date:is not equal to considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Date: is not empty ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Date: is not blank considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Date: is not in list ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Date: is not equal to one of the following considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Numeric: does not equal ignores blanks, if you want them considered you'll want to use the OR operator OR ADD a criteria that looks for "is empty"

Numeric: is not equal to considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Numeric: is not empty ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Numeric: is not blank considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Numeric: is not in list ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Numeric: is not equal to one of the following considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Text: does not equal ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Text: is not equal to considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Text: is not empty ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Text: is not blank considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Text: is not in list ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Text: is not equal to one of the following considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Text: does not contain ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Text: does not contain considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Text: does not start with ignores blanks, if you want them considered you'll want to use the or operator OR ADD a criteria that looks for "is empty"

Text: does not start with considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"

Text: does not end with ignores blanks, if you want them considered you'll want to use the OR operator or ADD a criteria that looks for "is empty"

Text: does not end with considers blanks, if you want them ignored you'll want to use the OR operator or ADD a criteria that looks for "is not blank"