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
  • 8885 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

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.

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

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

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
Level 2
October 16, 2015

HI Harry, 

Using Data Warehouse is possible, but quite challenging for a regular business user. This is an option, but i'm still looking for a way to implement the classification of a concatenated merchandising evar + currdate.

RE: Overwrite merchandising evar to another variable - that sounds promising! I'm not sure why, but it doesn't work for me. Did the new variable (URL) inherit the events allocated to the merchandising evar?

I'm using:

s.events = “prodView,event85=1”

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

                    Modules; Mod001;;;;evar64=’CMS _ID2"

s.evar63="0"

 

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 (|).'

Unfortunately, this approach pulls the date, but not the merchandising value and results in something like:

|07/14/2014

instead of 

556755|07/14/2014

So, i'm still puzzled what is it happening  and what can be done.

I've asked Customer Care  - they've been investigating it for about a week now :-)

 

thx!

 

irina

Level 2
October 16, 2015

It was more meant as: a Data Warehouse request can get you all the data you want related to the Merchandising eVar, including the date stamp, to create all the reporting needed. On overwriting a Merch eVar: I've tried this out (overwritten it, with some conditions set, to the value of referring url) and it worked perfect. Used rule builder to break the 'URL value'  in pieces and classify them. It stayed tied to the product string.

irina_timoshuk1
Level 2
October 16, 2015

Hi Harry, 

Thanks for your reply. I'm not sure if i know how to implement your suggestion. I need to capture the merchandising evar, concatenate it to the current date, and then classify the combined value. Are you saying that i can create a classification based on 2 variables at the same time (merchandising evar and date fired separately)? I haven't heard of that....

In my project, i need to classify the evar+date combination to preserve the historical changes made to some classification attributes. I can classify the merchandising evar alone, but any future classification uploads will wipe the historical data away. Which is a bad solution to my problem. Is there a way to either concatenate the merchandising evar to the current date context variable (preserving all the event allocations to this evar) and upload the classification based on this combined variable OR upload the classification to the merchandising variable but keep the historical values untouched with every future classification upload?

 

Thanks!

 

irina

irina_timoshuk1
Level 2
October 16, 2015

Hi Harry, 

Thanks for your reply. I'm not sure if i know how to implement your suggestion. I need to capture the merchandising evar, concatenate it to the current date, and then classify the combined value. Are you saying that i can create a classification based on 2 variables at the same time (merchandising evar and date fired separately)? I haven't heard of that....

In my project, i need to classify the evar+date combination to preserve the historical changes made to some classification attributes. I can classify the merchandising evar alone, but any future classification uploads will wipe the historical data away. Which is a bad solution to my problem. Is there a way to either concatenate the merchandising evar to the current date context variable (preserving all the event allocations to this evar) and upload the classification based on this combined variable OR upload the classification to the merchandising variable but keep the historical values untouched with every future classification upload?

 

Thanks!

 

irina

Level 2
October 16, 2015

Hi Irina,

Maybe I'm overlooking something, but If you need the Merch eVar and current date together for future classification, wouldn't a simple Data Warehouse request do the job?

Best,

Harry

Adobe Employee
October 16, 2015

Hi Irina,

Neither of the two workarounds will produce the desired reporting impact. If the event allocation needs to tie at a distinct product level then it needs to be included as such in the products string. Also the merchandising Custom Conversion variable must be set on a per product level to function correctly with the right event attribution as I understand the intent. I would recommend reviewing the merchandising custom conversion variable documentation in terms of the product string to spur further implementation approach ideas:

http://microsite.omniture.com/t2/help/en_US/sc/implement/var_merchandising.html

http://microsite.omniture.com/t2/help/en_US/sc/implement/var_merchandising_impl.html

Best,

Brian