Best Of
[WEBINAR] Time-Optimize Your Recommendation Set-up in Anticipation of Black Friday
Black Friday and Cyber Monday are around the corner and... is your online shop ready to hold the big amount of traffic your business will receive on those days or do you think your users will have to wait in queue for having a single page loaded on their screens?

For tackling the topic, I am holding a webinar on September 30th on the topic "Time-Optimize Your Recommendation Set-up in Anticipation of Black Friday" where we are going through best practices, tips&tricks for optimizing the speed of the content served on your website and deliver your Customers their best shopping experience.
Sign up here and get your seat!
(The webinar will be hosted in English)

FR / Community Webinar: Meilleures pratiques de recommandations personnalisées sur site
Chers Francophones de la Nosto Community,
Nosto organise un webinar intitulé “Meilleures pratiques de recommandations personnalisées sur site” le Jeudi 18 Juillet à 11h00.
La plupart des marchands souhaitent personnaliser l'expérience d’achat en ligne de leurs visiteurs en leur montrant les produits qu'ils sont le plus susceptibles d'acheter. Cependant, il faut connaître les astuces pour pouvoir tirer le meilleur de votre plateforme de personnalisation.
Rejoignez-nous ce Jeudi 18 juillet à 11h00, avec Maxime Pasquier, E-commerce Specialist, qui dévoilera les meilleures pratiques pour tirer le meilleur profit de notre solution de recommandations produit sur site et créer des expériences personnalisées pour mieux convertir.
Inscrivez-vous ici.
Vous ne pouvez pas participer au Webinar ce jour là ?
Inscrivez-vous, nous nous enverrons l’enregistrement en replay par email.
À très vite!

Re: Ideas
It would be amazing if you could make it possible to create an abandoned cart email that is only triggered when items from certain categories on my website are in the basket. That way we can then offer different things to different kinds of shoppers. It would be even better if this could be possible without having to add underlying code to the website...
Thanks!
Beckey.
Re: Community Webinar - Best practices for Onsite Recommendations

Community Webinar - Best practices for Onsite Recommendations
We have an upcoming webinar this Thursday that I think you’d be really interested in. Here at Nosto, we know that most merchants are interested in personalizing the products their onsite shoppers see in order to drive more sales. However many are unsure of best practices needed to do this. If you’re in the same boat, this flash-webinar will be perfect for you!
Join us this Thursday, May 9th at 3pm CET with our Head of Support & Community, Dan Macarie, as he dives into best practices for leveraging our Onsite Product Recommendations tooling to create personalized experiences that incentivize your customers to convert online.
If interested, feel free to save your seat here!

Re: Closing a pop up
I am sure of what you want to achieve with the closing of the popup, but not sure if I have understood what you wanna do with the UTMs.
But I try: if you check this code I have written for you to be pasted at the bottom of the popup
<script> var _j = _targetWindow.jQuery; _j("#NostoPopUp").click(function(e) { _j(this).hide(); _j("#simpledialog-overlay").remove(); _targetWindow.window.location.href = _targetWindow.window.location.href + "?utm_source=nosto"; e.preventDefault(); }); </script>
this will first hide the popup (and the opaque black layer behind it) and redirect the user to the homepage with a string of UTMs attached (that you will have to add in the apposite space where now you see utm_source=nosto which is one I invented for the sake of this example).
Please do let me know if this is what you wanted to have or if I have misunderstood your question - and, considered it is Friday, that is very much possible eheh

In the meantime, I wish you a very great weekend!

Re: Excluding taxes prices values are used as included taxes prices
unfortunately, when operating with math, Apache Velocity (based on Java, same behavior) gets rid of trailing zeros - like, for example, 37,20 becomes 37,2.
Now, if I would be you, I would do everything with Javascript (either in the template or running on your server once the slots have been loaded) but, since you asked, I will show you how to do that with Velocity - and maybe, looking at how much intricate that is for carrying out such a simple operation, maybe you will even change your mind

With Javascript
Firstly, I would set all the prices in an attribute of a <span> element (this via HTML) and then, with Javascript, calculate the tax on top of the price and keeping the zeros. Something like:
<span class="nosto-price-$divId" price-before-tax="$!product.price"></span> <!-- SCRIPT TO ADD AT THE BOTTOM OF THE TEMPLATE OR ON YOUR PAGE LOAD --> <script> var price = 0; var myPrice = document.getElementByClassName("nosto-price-$divId");What does this code do? Find all the elements with class "nosto-price", calculates the tax on top of it and it rounds it to 2 decimals. The result will be placed within the <span> element itself.
for(i = 0; i < myPrince.length; i++){ price = parseFloat(myPrice[i].getAttribute("price-before-tax")) * 1.2; price = price.toFixed(2); myPrice[i].innerHTML = price;
} </script>
With Velocity
#set($newPrice = $!product.price.asNumber() * 1.20) #set($newRoundedPrice = $math.roundTo(2, $newPrice)) #set($finalRoundedPrice = $newRoundedPrice.toString().split("\.")) ## now $finalRoundedPrice is an array and ## $finalRoundedPrice[0] is the integer number and ## $finalRoundedPrice[1] is the decimal. Then you do: #if($finalRoundedPrice[1].length() > 1) <span class="price">$finalRoundedPrice[0].$finalRoundedPrice[1]</span> #else <span class="price">$finalRoundedPrice[0].$finalRoundedPrice[1]0</span>
I guess you can see yourself how much more elastic the whole operation is when done via Javascript, whilst with Velocity you will have to split the price at the decimal point, turning a variable into an array, checking the length of the array containing the decimals and, if longer than 1, append a "0" after the price... pretty crazy

How do you see that? I am afraid to ask if it's clear, but considered you got so far, I presume you have a good enough programming knowledge to understand what I have written there eheh
Please do let me know how/if that worked for you!


Re: Ideas
Re: Recommendations > add to cart link
I know you enjoy to speak tech so I complete Dan's answer with some code.
You are on Magento, and we do support the add to cart functionality, an example of a working button could be
<a href="#" onclick="Nosto.addProductToCart('$!product.productId', this);">AJOUTER AU PANIER</a>
Try that out and if it raises some problems do let us know, but I am sure it's gonna work!


Re: Recommendations > template > alt images
it's me, Casper

Ok, jokes aside, let's get your question answered.
The alternate images are contained in an array, which it'll have to be mapped within an object, something like this
#foreach($img in $!product.alternateImages) <img src="$!img.thumb(8)" alt="$!product.name" /> #end
This will have to be placed, of course, within the usual #foreach($product in $products) iteration loop, as the array containing the different alternate images is itself a property of the object "product".
If it sounds complicated to understand, just copy/paste it

Let me know how that has worked!
