BookmarkSubscribeRSS Feed
jingze0619
Obsidian | Level 7

To whom it may concern,

We are a E-commerce website. We currently want to track the filter clicks for each category (We have 11 categories: Dress shirts, Ties, Suits, Sport Coats, Pants, etc. ).

 

For example: the dress-shirts category, if a customer visit this page and click size: 14.5, color: white, cuff: button cuff etc. We can then track all the click events  

Screen Shot 2020-05-22 at 4.36.05 PM.png

Here is our website: https://www.paulfredrick.com

And here is the configuration I create. However, I didn't track anything. I didn't find any data in the custom_events table 

Screen Shot 2020-05-22 at 4.39.42 PM.png

Screen Shot 2020-05-22 at 4.39.49 PM.png

Screen Shot 2020-05-22 at 4.39.53 PM.png

 

If anyone know anything about this question. Please let me know. 

Thank you so much 

 

Jingze 

5 REPLIES 5
OlafKratzsch
SAS Employee

Jingze,

 

I would suggest you open a Technical Support ticket to get this sorted.  Looking at your config I have a suspicion though.  When using selectorPath for a click event there are actually 2 ways how this works.  The first is using the taregtSelectorPath as a text field as collected by the standard event. The evaluation happens server side in the streaming data platform. (see below screenshot from your site).  You can see that it contains an additional id. It's div#size > div.refine-group > ul > li >a   instead of the div > div.refine-group > ul > li >a  you are using in your rule.

click_event.png

 

When you use an EQUALS in your rule it switches to a second mode (just introduced a couple of weeks ago). If you have an EQUALS in your rule the tag runs the CSS selector and checks if it matches. In that mode you can use all types of CSS Syntax like described here: https://www.w3schools.com/cssref/css_selectors.asp

 

Long story short you have 2 options to fix this:

 

a.) Add the #size to your rule.

b.) Change your rule to EQUALS

 

My recommendation would be option B as option A could be a bit more fragile. Assume that one of these elements in the chain gets another class, maybe due to responsive design. Then the text in selector would look slightly different, e.g. div#size > div.refine-group > ul.someclass > li >a  and the text comparison in the data streaming data platform wouldn't find a match. The tag in option B would still find the selector as it still matches using CSS in the browser.  So option B is a bit more reliable

jingze0619
Obsidian | Level 7
Hi. Olakf

Thank you for answer me again. I have been contact TS for the past 3 weeks, but didn't got any answer from them. THat's why I post here.

Regarding "You can see that it contains an additional id. It's div#size > div.refine-group > ul > li >a instead of the div > div.refine-group > ul > li >a you are using in your rule."
The reason I didn't put div#size is because if I put size, it will only track size filer, however, I want to track not only size, but also color, collar, cuff, etc. (those other filters) as the my 1st sane shot above. For example: if a customer click size 14.5, color white, cuff: button cuff I will got 14.5 white button cuff.


Regarding the EQUALS, do you mind to provide an example how to configure it in CI360? Do you mean if I use EQUALS, even I put div#size I could also get div#color information?

Looking forward to hear from you
Thank you
Jingze
OlafKratzsch
SAS Employee

Jingze,

 

you can leave the descriptor in the rule as-is with div > div.refine-group > ul > li > a

Just change the operator from CONTAINS to EQUALS. That triggers the mode where the tag checks for this selector which it will match regardless of you clicking szie, color or another attribute.

 

jingze0619
Obsidian | Level 7

Hi. Olaf

 

I just change it from contain to equal for Event Configuration 

 

Screen Shot 2020-05-27 at 9.32.52 AM.png

 

 

TS told me before to change the Event Attributes as the following: However, I am wonder this is not right about the innerText and 2nd URL path. What would you recommend me to configure for this event attributes step? 

Screen Shot 2020-05-27 at 9.33.35 AM.png

Screen Shot 2020-05-27 at 9.33.40 AM.png

Also, do you think it is good to keep current configuration for custom Attributes?  

Screen Shot 2020-05-27 at 9.33.45 AM.png

 

Just want to make sure everything is right cause I got so many different answers from TS but none of them works. 

Very appreciate your help again.

 

Looking forward to hear from you 

Jingze 

  

 

OlafKratzsch
SAS Employee

Whether you put the filter clicked (size, color, etc.) into the 'Custom Event Name' , 'Custom Event Group Name' or a new custom attribute really depends on your personal preference.

 

For ease of use I would put it into the 'Custom Event Name' and give it a hard coded 'Custom Event Group Name' such as "Filter clicked".  That would a.) show them in the Goal reports (which will renamed to Custom Events in the next release) with a sum for 'Filter clicked' and then when you drill down you see counts for all the various filters. And b.) it would be easier to use in the data as these are fixed columns. The custom attribute would be stored in the properties_map_doc in the form of 'event name'<Ctrl-B>'value' and would always require some processing to get to.

Only 'downside' of using the standard fields is that they are not precisely named and you would need to know what is in which field for which custom event, but personally I think that is not too big a price to pay.

Really depends on the consumers. Do they care about the reports? How is the data stored and used? If you store it in Hadoop and use Hive, then accessing the custom attribute is pretty easy and natively supported. If you store in SAS then it is just a string and you need to do some manipulation every time you use it.

 

You have to look at the attributes available in the click event to decide which ones will provide you the information you are seeking. Where do I uniquely find the filter they clicked. And which attribute is reliable. Personally innerText is always my last choice as it easily can change, especially when you have different language versions of your site or someone asks Google to translate the page. So elements of a URL or custom html5 attributes that start with data- are always my preference as they change rather seldomly.

 

 

click_event_1.png

click_event2.png

 

The information that I had clicked on 'color' only shows up in the selector and in the uri.   I have blurred out the anchor_href attribute as this is a bit confusing. The anchor_href attribute in the click event is NOT used anywhere in the system.  The actual href that we use is stored in the uri attribute. So when you use Target: href as an attribute in the UI it relates to the value in the uri attribute in the raw event.

 

Your best option is probably some regular expression like this 

.*\/(.*?)=

If you also want to know which color, size, etc. someone then you have additional options:

  1. make the group name dynamic and have it contain what I described above for the custom event name and put the color value into the custom event name
  2. Leave it as described above and put the color value into a custom attribute

Same arguments apply as above to decide which option you want to go for

 

 

How to improve email deliverability

SAS' Peter Ansbacher shows you how to use the dashboard in SAS Customer Intelligence 360 for better results.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 5 replies
  • 1154 views
  • 6 likes
  • 2 in conversation