Expand my Community achievements bar.

Webinar: Adobe Customer Journey Analytics Product Innovations: A Quarterly Overview. Come learn for the Adobe Analytics Product team who will be covering AJO reporting, Graph-based Stitching, guided analysis for CJA, and more!
SOLVED

Unspecified Line item with AA product string builder

Avatar

Level 2

Hi everyone, 

in one of the e-commerce events, such as scPurchase, i am trying to set the variables for products and payment as suggested in the AA product string builder guide (https://techdocs.searchdiscovery.com/adobe-solutions/adobe-launch/launch-extensions/aa-product-strin...)

In particular, i am setting additional merch evars (with product syntax) for both products and payments. 

Let the situation be

eVarX = sku (in products)
evarY = id (in payments)

everything works correctly and i am getting data, however, in analysis workspace, if i use eVarX as a dimension and Revenue/Orders/any other success event i see the correct eVarX line items and metrics and an unspecified line item. 

By breaking down the unspecified line item by evarY i get the evarY value. 
Thus, i am basically getting unspecified line items, corresponding to the eVarY payment evarY when i should not get them within the freeform table. 
I observe this behavior in analysis workspace whenever i have an event in which i set 2 AA product string builder extension variables. 

Would anyone have any suggestion beside filtering out unspecified from the freeform table?

Thanks!


1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Without seeing the tagging and the result, it might be hard to disagnose... I know this is common if you have 2 or more products where only some of them are setting eVarX - the other items on the same tracking call that don't have eVarX can trigger an unspecified value...

 

But in this case it sounds like they should all have eVarX?

 

How in depth have you tested your implementation? Have you reviewed the product string for issues? Maybe there is an extra comma (,) at the end making it look like an empty product being passed?

View solution in original post

12 Replies

Avatar

Correct answer by
Community Advisor

Without seeing the tagging and the result, it might be hard to disagnose... I know this is common if you have 2 or more products where only some of them are setting eVarX - the other items on the same tracking call that don't have eVarX can trigger an unspecified value...

 

But in this case it sounds like they should all have eVarX?

 

How in depth have you tested your implementation? Have you reviewed the product string for issues? Maybe there is an extra comma (,) at the end making it look like an empty product being passed?

Avatar

Community Advisor

Agree with @Jennifer_Dungan , we need to see a sample s.products string to diagnose the problem.

I suspect that you're setting both eVarX and eVarY in your s.products string at the same time, but at the Payments, you're setting eVarY with a blank string. If so, then AA would interpret that as "I have received a hit for Products where there is an eVarY, but oh! It's a blank string! I'll report that as "Unspecified" then."

Avatar

Level 2

s.products=;%productID%;2;127.5;event41=2;eVarX=%my evarX%,;%PaymentID%;;;;eVarY=%my evarY%

Tag setup:

Product set up

AA product string builder (search discovery): set variable

Root data object = %my root data object%
Product Collection path = %my collection path%
productID = %path to product id%

Product string merchandising evar

evarX = %my evarX%

Payment set up

AA product string builder (search discovery): set variable

Root data object = %my root data object%
Product Collection path = %my collection path%
productID = %path to payment id%

Product string merchandising evar

evarY = %my evarY%

from _satellite.setDebug(true)
i see that the product array get the variables correctly. 
In line 0 i have my product product string
in line 1 i have my payment product string.

As you pointed out, i see "null" for line 1 (payment product string) as a value for evarX, however, i should not get it counted as suggested by SDI doc since it is not in the set product of payment.

Thanks in advance!

Avatar

Level 1

@Jennifer_Dungan @yuhuisg 

 

I came looking for a similar answer and hoping someone has an update for @Umberto that may benefit me as well  

Avatar

Level 2

Hi!

 

basically if you use AA product string builder (the Search Discovery extension) you will always have unspecifieds if you create two different products.

 

to get “rid” of them you should either filter for unspecifieds or use segments (that’s the answer I got from them too)

Avatar

Community Advisor

Thank you @Umberto , also I would like to apologize, I missed your last question update.

 

That is good to know about that extension.. now I am glad I don't use it 

Avatar

Level 1

I am unable to truly filter out the unspecified in the product string when I add an exclusion container to the segment or do it as "does not equal = unspecified" within the segment. 

 

The only way I can seem to get rid of it is unchecking the "Include Unspecified" in filter which not everyone would do. I tried creating a classification for it but it's giving me issues within the Dev report suite so I'm struggling to figure out how to fix it. 

 

Maybe the answer is - we can't ha

 

@Jennifer_Dungan 

Avatar

Community Advisor

Did you try an exclusion container for 

 

eVarX does not exist

 

?

 

Basically, unspecified isn't an actual string value that can be matched... it's really a fake placeholder for null entries.

Avatar

Level 1

Here2Learn1_0-1694715339908.png

Here2Learn1_1-1694715346418.png

I had not tried that yet - ha but now that I have - it is still not doing what I want it to...

Avatar

Community Advisor

Ohh it's in the Product... yeah, there's nothing you can do...

 

Products can be very annoying....

 

If you have one product in the call:

 

;prod1;1;9.99;event1=1;eVar1=some-value

 

or multiple products:

 

;prod1;1;9.99;event1=1;eVar1=some-value,;prod2;1;5.99;event1=1;eVar1=another-value

 

Whether you create a segment for "Product contains prod1" OR "Product equals prod1"

 

Both the above calls will be returned.... because "prod1" is part of the call in both cases (but this segment will also return prod2 because its on the same call as a prod1)... the same is true trying to exclude items... 

 

If you create an exclude segment, you will also throw out legitimate traffic that you actually want....

 

 

This is one of the most complained about things on how Products works... 

Avatar

Level 1

Okay, so I'm not losing my mind! Haha Thank you so much for your quick responses  

Avatar

Community Advisor

Lol, nope.

 

Glad to help, I wish I had a better answer / solution for you....