Can processing rules be applied to concatenate merchandising evar to context data? | Community
Skip to main content
irina_timoshuk1
Level 2
October 16, 2015
Solved

Can processing rules be applied to concatenate merchandising evar to context data?

  • October 16, 2015
  • 14 replies
  • 8852 views

Hi everyone, 

Could you please help me debug the following issue with using merchandising and context vars in the processing rule? 

We are passing one conversion variable (evar63) as a merchandising var in the s.products:

s.products = “Category; SKU;;;event85=1;evar63=’id_1’"

ON the same s.t() call, we are passing the current date via context variable ('currdate'):

s.contextData["currdate"] = new Date().toMMDDYYYYString();

Then, we would like to overwrite the original value of evar63 with the concatenated values of evar63 and context data (currdate). The processing rule is:

- If evar63 is Set, then  Overwrite value of evar63 To Concatenated Value of evar63, currdate(Context Data) using a pipe (|) delimiter.

Unfortunately, this setup didn't work and we are still getting the original, not concatenated values in the evar63 report.

I was confused because the Help section mentioned, 'The product string, referrer, and user agent cannot be changed' (http://microsite.omniture.com/t2/help/en_US/reference/processing_rules_about.html). 

Is merchandising evar should be considered a part of product string and can NOT be altered? The Customer Care rep assured it can be since it is available in the drop-down menu of the processing rule. 

Did anyone tried to use merchandising var and context data in the same processing rule?

Thank you!

irina

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by irina_timoshuk1

Harry, do you remember if your Merchandising evar used Product Syntax or Conversion variable syntax?

I've got Client Care confirmation that merchandising evar set up with Product Syntax can not be used in the processing rules to overwrite another variable.

thanks!

irina

14 replies

Level 2
October 16, 2015

It used the Product Syntax. I sure believe you can't overwrite another variable with it. You just would pass on the naming, 33302, or Sweatshirt 22440. Not the product syntax incl events that are attached.

But in my experience you can rename it (overwrite with other value) and the product syntax will stay tied to it. Same for productviews, add to basket, etc. Worked out pretty good for me. I still don't understand why your rule doesn't work. Stupid question, but have to ask: your context variable. Do you assign it's value with a processing rule? This isn't setup after your processing rule for the eVar63 is it?






, and the Product Syntax and events will stay tied to it. At least... worked pretty good for me.

irina_timoshuk1
irina_timoshuk1AuthorAccepted solution
Level 2
October 16, 2015

Harry, do you remember if your Merchandising evar used Product Syntax or Conversion variable syntax?

I've got Client Care confirmation that merchandising evar set up with Product Syntax can not be used in the processing rules to overwrite another variable.

thanks!

irina

irina_timoshuk1
Level 2
October 16, 2015

Harry, thank for your input. Indeed, it should be something really simple.

Are you saying you were able to overwrite the merchandising evar with other value and the product syntax stayed intact? Doesn't it contradict to Adobe Help section  where 'The product string, referrer, and user agent cannot be changed' (http://microsite.omniture.com/t2/help/en_US/reference/processing_rules_about.html). ?

It was my very first attempt to concatenate the values and it didn't work.

We are passing one conversion variable (evar63) as a merchandising var in the s.products:

s.products = “Category; SKU;;;event85=1;evar63=’id_1’"

ON the same s.t() call, we are passing the current date via context variable ('currdate'):

s.contextData["currdate"] = new Date().toMMDDYYYYString();

Then, we would like to overwrite the original value of evar63 with the concatenated values of evar63 and context data (currdate). The processing rule is:

- If evar63 is Set, then  Overwrite value of evar63 To Concatenated Value of evar63, currdate(Context Data) using a pipe (|) delimiter.

 

Then i tried to write merchandising evar into another one concatenated to the current date. Didn't work either.

s.products="Modules; Mod001;;;;evar64=’CMS_ID1’,

Then, i applied a simple processing rule (with no conditions for simplicity):

'Overwrite evar63 to concatenated value of evar64, context data (currdate) delimited by a pipe (|).'

 

I even looked at the datafeeds and found out that the merchandising evar64 isn't getting written to either evar64, post_evar64, or product_merchandising fields. I think - this is the root of the problem since Processing rule has nothing to pick up from evar64. Client Care confirmed that this works as designed and can't be implemented to accomplish my goal..... Sigh...

                           
date_timeevar63post_evar63evar64post_evar64post_product_listproduct_listproduct_merchandising
9:34:39 AM0|07/15/2014  Modules;Mod100;;;,Modules;Mod100Modules;Mod100;;;;eVar64=554672,Modules;Mod100;;;;eVar64=550683 

Re :Context data  - it is set on the same call with s.products / evar63 / evar64 / etc. It is written in the s_code and seems to fire just fine. I assume it isn't the cause of the problem since this is the only part of the concatenation rule that actually works. 

thx

Level 2
October 16, 2015

The Mer eVar is using the Product Syntax. I sure believe you can't overwrite another variable without losing the product syntax. But  I'm confident that you can rename it, an the product syntax incl events will stay tied to it.

I still don't understand why you don't succeed in your goal. I feel sure it can be done and we're overlooking something simple. Stupid question, but I have to ask: the context variable for the actual date, does it assign it's value through a processing rule? This rule isn't setup after the eVar63 rule is it?

I wonder btw what would happen if you would, before the eVar63 processing rule, setup a processing rule which catches the value of eVar63 in a new prop. And in the rule you've setup  concatenate the value of this prop and the value of the context variable curr. date. I come up with this cause I don't know what happens when you ask the system basically to delete a value, and overwrite it with itself. It can be done in programming, Python for example would accept it. But I don't know how Omniture handles this.