As Adam Greco described long ago, it is eas­i­est to think about a VISTA rule as a way to mod­ify your data — very specif­i­cally — after it has been col­lected, but before it has been processed.  This could involve data manip­u­la­tion, decryp­tion, cam­paign mod­i­fi­ca­tion, mov­ing or copy­ing hits between report suites, or any other num­ber of things.

As a gen­eral rule, if you can accom­plish some­thing with VISTA, you could achieve the same thing through server-side logic on your own back end or through JavaScript on the client side.  Depend­ing on your par­tic­u­lar busi­ness needs, VISTA can be a God-send, a require­ment, a Band-Aid, or an unnec­es­sary con­cern, but how do you know which?  I’ll start with some con­sid­er­a­tions and then share how I’m cur­rently using VISTA in the Omni­ture Suite.  Con­sid­er­a­tions first:

1. Busi­ness Needs

There are two main kinds of VISTA rules, the stan­dard rule and the data­base rule (referred to as VISTA and DB VISTA respectively).

The stan­dard VISTA rule fol­lows the gen­eral phi­los­o­phy of “mea­sure twice, cut once.”  With the help of your Account Man­ager or an Omni­ture Con­sul­tant, you’ll care­fully scope the busi­ness need, define exactly what it is that you want the VISTA rule to do, and sub­mit the request.

If your busi­ness ques­tion is dynamic in some way, mean­ing that it requires the abil­ity for you to make reg­u­lar updates to your VISTA rule, then you want to con­sider the data­base rule.  DB VISTA is just what it sounds like.  Omni­ture main­tains a data­base and the VISTA rule will per­form cer­tain pro­cess­ing based on what’s in it.  In most cases, this data­base is cus­tom to your needs, but in spe­cial cases, it can also be pow­ered off of one of the Omniture-maintained data­bases (search engines, browsers, etc).

Why is this first in the list of con­sid­er­a­tions?  Odds are that given the time and devel­op­ment resources, you can prob­a­bly dupli­cate a stan­dard VISTA rule on your own.  DB VISTA rules tend toward more advanced busi­ness needs and the func­tion­al­ity may be more dif­fi­cult to dupli­cate with­out hav­ing a neg­a­tive impact in other areas (see # 6 below).  If your busi­ness needs require some­thing in this ter­ri­tory, the DB VISTA solu­tion might be the sim­pler route.

2. Tim­ing

VISTA rules are built by Omniture’s Engi­neer­ing Ser­vices team (now a divi­sion of Omni­ture Con­sult­ing).  Once scope has been agreed upon and the request has been made, VISTA rules have a 7–10 busi­ness day turn­around.  Depend­ing on your organization’s devel­op­ment cycle, that might be ten times faster or slower than you can do it yourself. 

Some Omni­ture cus­tomers will even use a VISTA rule as a tem­po­rary solu­tion until they can mar­shal the inter­nal resources to get changes made to their own code.  If you’re in a rush, a VISTA rule might be just what you need.

3. Ease of Updates

No doubt you are already famil­iar with how easy it is to make updates to your own web­site, so let’s focus on the VISTA solu­tions.  VISTA rules are com­piled, housed, and run on Omni­ture servers.  Engi­neer­ing Ser­vices writes the code, posts the code, and you’ll never have to worry about any of the imple­men­ta­tion details.  This has a few impor­tant ramifications.

If you’re using some­thing like the Uni­fied Sources VISTA rule, which depends on an Omniture-maintained lookup table, the updates will just hap­pen for you and you won’t have to worry about re-implementing the Chan­nel Man­ager plug-in when Microsoft launches a new search engine (you know who you are).

DB VISTA rules uti­liz­ing your own data­base are also fairly pain­less to update, but what about the stan­dard VISTA rules?  This is why I advise you to mea­sure twice and cut once.  If you need an update to a stan­dard VISTA rule, then you’ll talk to your Account Man­ager or Omni­ture con­sul­tant to kick off the process and the 7–10 busi­ness day rule applies again.

4. Persistence/Cookies

VISTA rules run on every hit and are com­pletely state-less mean­ing, that it doesn’t remem­ber things from one page to another.  If the par­tic­u­lar ques­tion you need an answer for involves remem­ber­ing things across mul­ti­ple pages or vis­its, then VISTA will not be able to com­pletely meet your needs.

VISTA can still be a part of the solu­tion if needed, but you may have to con­trol the cookie/session logic and per­sis­tence on your own servers.  Then you can pass cer­tain val­ues to VISTA in a pre-defined way in order to trig­ger the desired processing.

5. Validation/Debugging

There are a num­ber of stan­dard VISTA rules that are quite pop­u­lar for one rea­son or another.  For these rules, the imple­men­ta­tion and val­i­da­tion process is pretty straight­for­ward.  On the other hand, some are com­pletely cus­tom to a par­tic­u­lar busi­ness need and from start to fin­ish require cus­tom scop­ing, devel­op­ment, test­ing, and validation.

The com­plex­ity increases if you have more than one VISTA rule affect­ing the same data points, and it can be chal­leng­ing to trace these back to their source (since the code is not where you can see it – point #3).  If you’re see­ing unex­pected results in your dev suite while per­form­ing this val­i­da­tion, it’s likely that you’ll need help from Client­Care or your con­sul­tant to help you through this phase.

6. User Experience

Some­times what you need to do isn’t par­tic­u­larly dif­fi­cult or com­plex, but you’d like to avoid doing it in JavaScript because 1) it would add a lot of weight to your .js file, 2) it would be proces­sor inten­sive, or 3) insert your own rea­son here.  Increas­ing load times and impact­ing the user expe­ri­ence for ana­lyt­ics sake is usu­ally frowned on by most peo­ple I know, so if you have these con­cerns, look no further. 

VISTA pro­cess­ing hap­pens asyn­chro­nously after the data is col­lected, so you don’t need to incur either of these costs at run-time.

VISTA in the Omni­ture Suite

So what do we use VISTA for in the Omni­ture Suite?  There are a few in place and a few more that I’ll be adding shortly.

  • IP Exclu­sion: we move hits from inter­nal IP addresses to a inter­nal report suite (I’ll write another day about report suite architecture)
  • Mon­i­tor­ing Agents: we move hits from Gomez, WASP, and other mon­i­tor­ing tools into a junk report suite
  • Copy­ing Props to Evars: it can eas­ily be done in JavaScript, but it doing it with the VISTA engine helps keep the code cleaner and the length the request URLs under control
  • Copy­ing our Geoseg­men­ta­tion data into evars
  • Time Part­ing, to keep track of time of day and day of week

Feel free to email me if you have ques­tions about apply­ing VISTA to your busi­ness needs.  If you think that a VISTA rule might be right for you, con
tact your Account Man­ager or your Omni­ture Con­sul­tant to get the ball rolling.

For those in the audi­ence who’ve done this before, let us know what you’re using VISTA for.

Photo Cred­its: 1. Dar­rren Hes­ter, 2. nico­las­nova, 3. Jason Gulledge, 4. are­sauburn, 5. Ger­ald Yuval­los, 6. Paul Veu­gen.

Ben Robison
Ben Robison

As of today, there is also a list of popular VISTA rules in the Help section. Login to the Omniture Suite, then click Help > Supporting Docs > Implementation > VISTA.