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

Adobe Employee
October 16, 2015

Hi Irina,

Processing rules cannot alter any part of the product string. The outlined approach will not work at this time through processing rules. The below statement is correct form the Help site:

http://microsite.omniture.com/t2/help/en_US/reference/processing_rules_about.html

The product string, referrer, and user agent cannot be changed.

Referrer and user agent are read-only. The product string is not available.

Best,

Brian

irina_timoshuk1
Level 2
October 16, 2015

Brian, thank you

I wish merchandising evars could me manipulated via processing rules.

Well, i'm testing the workaround with an additional variable. I assumed that the value of a merchandising evar can still be copied to another evar via processing rules. Is my assumption correct? 

So, we are passing the merchandising evar in the s.products on s.t() call together with a context data variable:

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

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

Then, i copy the value of evar63 to a new evar64 concatenated with context 'currdate' via processing rule:

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

I'm concerned about the events allocation though.... Will the incrementing events (event85 in the s.products string) allocate to evar63 be still allocated to the new evar64?

Thanks!

irina

Adobe Employee
October 16, 2015

Hi Irina,

It is less an issue with merchandising eVars and more the current limitation with processing rules to alter the product string. You are right to be concerned with the workaround as it will not work in the manner you intend since eVar64 will be outside the product string and the event allocation will be off. The only course I see forward is setting the eVar63 value to the exact value you want it to be within the product string from the start.

Best,

Brian

irina_timoshuk1
Level 2
October 16, 2015

Hmmm, that's quite unfortunate :-(. I can't really set the concatenated value of evar63 and the current date into s.products. It will break all s.products & image request character limits. And i absolutely need these ids be processed with the dates because it will be used for the date-specific classifications.

OK, one more workaround theory (and a question). If i pass the incrementor event to s.events, set merchandising evar63 into s.products, pass another empty evar64 on the same call and then - copy the merchandising evar's value to the new evar64 concatenated with the current date - will the event allocation be saved?

Something like this:

s.events="prodView, event85=1"

s.products="Category;SKU;;;;evar63=id_1"

s.evar64="[null or dummy value]"

 

Also - if i set event85=1 in s.events, it will be applied to all products in the s.products string. And i'd like to avoid it. What would be the best way to have event85 in s.events and not applicable to all products?

s.events="prodView, event85=1"

s.products="Category;SKU;;;;evar63=id_1,

                   Category;SKU_2;;;event85=0"

or

s.events="prodView, event85=1"

s.products="Category;SKU;;;;evar63=id_1,

                   Category;SKU_2;;;event85=-1"

Does event85=0 passed in s.products overwrite event85=1 passed in s.events? 

Or - can negative numbers be passed as numeric events? Will event85=-1 (passed into s.products) zero out event85=1 (passed in s.events)? 

What is the best way to zero out the total value of a numeric event per certain evar?

Thanks!

irina

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

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

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

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, 

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