The reevoomark-dotnet-api is a .NET tag library for ReevooMark and Reevoo Essentials customers who want to quickly and easily integrate Reevoo content in to their sites server-side.
Tag libraries are also available for Java and PHP.
- Server-side inclusion of Reevoo content.
- Included CSS for display of Reevoo content.
- Server-side caching of content that respects the cache control rules set by Reevoo.
For ReevooMark and Reevoo Essentials customers, support can be obtained by emailing operations@reevoo.com.
There is also a bug tracker available.
Install NuGet if you don't already have it, then run the following command in the package manager console:
Install-Package ReevooMark
In your web.config
file add the value of the TRKREF provided to you by Reevoo in the following way:
<appSettings>
<add key="TRKREF" value="PIU"/>
</appSettings>
This will be used throughout your web server wherever you use a Reevoo asset without specifying an alternative TRKREF.
For example,
<reevoo:JavascriptAssets runat="server"/>
will initialize our Reevoo javascript assets with the default TRKREF provided in the web.config file, in this case trkref="PIU". You can override this default value by providing the TRKREF in the following way:
<reevoo:JavascriptAssets trkref="REV" runat="server"/>
Register the namespace prefix:
<%@ Register TagPrefix="reevoo" Namespace="ReevooMark" Assembly="ReevooMark" %>
You should include the Reevoo specific CSS in your header:
<reevoo:CssAssets runat="server"/>
You should include the Reevoo specific JavaScript at the bottom of your body:
<reevoo:JavascriptAssets runat="server"/>
As before you may set an explicit TRKREF if you wish.
<reevvoo:JavascriptAssets trkref="REV" runat="server"/>
It also has support for multiple TRKREF'S.
<reevvoo:JavascriptAssets trkref="REV, CYS, HYU" runat="server"/>
To render "product badges" you can use any of the below.
The SKU
is compulsory but TRKREF
and VariantName
are optional.
Make sure to replace <SKU>
,<TRKREF>
and <VARIANT_NAME>
with the appropriate values.
<reevoo:ProductBadge sku="<SKU>" runat="server"/>
<reevoo:ProductBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
<reevoo:ProductBadge sku="<SKU>" variantName="undecorated" runat="server"/>
<reevoo:ProductBadge sku="<SKU>" trkref="<TRKREF>" variantName="stars_only" runat="server"/>
To render "conversations badges" you can use any of the below.
The SKU
is compulsory but TRKREF
and VariantName
are optional.
Make sure to replace <SKU>
,<TRKREF>
and <VARIANT_NAME>
with the appropriate values.
<reevoo:ConversationsBadge sku="<SKU>" runat="server"/>
<reevoo:ConversationsBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
<reevoo:ConversationsBadge sku="<SKU>" variantName="undecorated" runat="server"/>
<reevoo:ConversationsBadge sku="<SKU>" trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>
To render "product series badges" you can use any of the below.
The SKU
is compulsory and should be set to the series id. The TRKREF
and VariantName
are optional.
Make sure to replace <SKU>
,<TRKREF>
and <VARIANT_NAME>
with the appropriate values.
<reevoo:ProductSeriesBadge sku="<SKU>" runat="server" />
<reevoo:ProductSeriesBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
<reevoo:ProductSeriesBadge sku="<SKU>" variantName="undecorated" runat="server"/>
<reevoo:ProductSeriesBadge sku="<SKU>" trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>
To render "conversation series badges" you can use any of the below.
The SKU
is compulsory and should be set to the series id. The TRKREF
and VariantName
are optional.
Make sure to replace <SKU>
,<TRKREF>
and <VARIANT_NAME>
with the appropriate values.
<reevoo:ConversationSeriesBadge sku="<SKU>" runat="server"/>
<reevoo:ConversationSeriesBadge sku="<SKU>" trkref="<TRKREF>" runat="server"/>
<reevoo:ConversationSeriesBadge sku="<SKU>" variantName="undecorated" runat="server"/>
<reevoo:ConversationSeriesBadge sku="<SKU>" trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>
To render "Overall Service Rating badges" you can use any of the below.
The TRKREF
and VariantName
are optional.
Make sure to replace <TRKREF>
and <VARIANT_NAME>
with the appropriate values.
<reevoo:OverallServiceRatingBadge runat="server"/>
<reevoo:OverallServiceRatingBadge trkref="<TRKREF>" runat="server"/>
<reevoo:OverallServiceRatingBadge variantName="undecorated" runat="server"/>
<reevoo:OverallServiceRatingBadge trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>
To render "Customer Service Rating badges" you can use any of the below.
The TRKREF
and VariantName
are optional.
Make sure to replace <TRKREF>
and <VARIANT_NAME>
with the appropriate values.
<reevoo:CustomerServiceRatingBadge runat="server"/>
<reevoo:CustomerServiceRatingBadge trkref="<TRKREF>" runat="server"/>
<reevoo:CustomerServiceRatingBadge variantName="undecorated" runat="server"/>
<reevoo:CustomerServiceRatingBadge trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>
To render "Delivery Rating badges" you can use any of the below.
The TRKREF
and VariantName
are optional.
Make sure to replace <TRKREF>
and <VARIANT_NAME>
with the appropriate values.
<reevoo:DeliveryRatingBadge runat="server"/>
<reevoo:DeliveryRatingBadge trkref="<TRKREF>" runat="server"/>
<reevoo:DeliveryRatingBadge variantName="undecorated" runat="server"/>
<reevoo:DeliveryRatingBadge trkref="<TRKREF>" variantName="<VARIANT_NAME>" runat="server"/>
To render "embedded review content" you can use any of the below.
The SKU
attribute is compulsory but TRKREF
, Locale
and NumberOfReviews
are optional.
If you wish to use NumberOfReviews
you must include the Locale
.
Make sure to replace <SKU>
and <TRKREF>
, <LOCALE>
and <NUMBEROFREVIEWS>
with the appropriate values.
<reevoo:ProductReviews sku="<SKU>" runat="server" />
<reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" runat="server"/>
<reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" locale="<LOCALE>" runat="server"/>
<reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" locale="<LOCALE>" numberOfReviews="<NUMBEROFREVIEWS>" runat="server"/>
<reevoo:ProductReviews sku="<SKU>" trkref="<TRKREF>" locale="<LOCALE>" numberOfReviews="<NUMBEROFREVIEWS>" paginated="true" runat="server"/>
The overall rating section at the top of inline reviews contains an overall score, a summary and the score breakdowns.
If you would like to fall back to some content when Reevoo content is not available, just specify it within the tag:
<reevoo:ProductReviews sku="<SKU>" runat="server">
<p>Sorry we don't have any reviews available right now</p>
</reevoo:ProductReviews>
To render "embedded conversations content" you can use any of the below.
The SKU
attribute is compulsory but TRKREF
is optional.
Make sure to replace <SKU>
and <TRKREF>
with the appropriate values.
<reevoo:Conversations sku="<SKU>" runat="server" />
<reevoo:Conversations sku="<SKU>" trkref="<TRKREF>" runat="server"/>
If you would like to fall back to some content when Reevoo content is not available, just specify it within the tag:
<reevoo:Conversations sku="<SKU>" runat="server">
<p>Sorry we don't have any conversations available right now</p>
</reevoo:Conversations>
To render "embedded customer experience review content" you can use any of the below.
The TRKREF
and NumberOfReviews
are optional.
Make sure to replace <TRKREF>
and <NUMBEROFREVIEWS>
with the appropriate values.
<reevoo:CustomerExperienceReviews runat="server"/>
<reevoo:CustomerExperienceReviews trkref="<TRKREF>" runat="server"/>
<reevoo:CustomerExperienceReviews numberOfReviews="<NUMBEROFREVIEWS>" runat="server"/>
<reevoo:CustomerExperienceReviews trkref="<TRKREF>" numberOfReviews="<NUMBEROFREVIEWS>" runat="server"/>
<reevoo:CustomerExperienceReviews trkref="<TRKREF>" numberOfReviews="<NUMBEROFREVIEWS>" paginated="true" runat="server"/>
If you would like to fall back to some content when Reevoo content is not available, just specify it within the tag:
<reevoo:CustomerExperienceReviews sku="<SKU>" runat="server">
<p>Sorry we don't have any customer experience reviews available right now</p>
</reevoo:CustomerExperienceReviews>
There is a generic tag that allows to specify the base url to call on the Reevoo server for generic embeddable content that is not provided by any of the previous tags. The tag name is "mark" and you can use it in the following way:
Make sure to replace <SKU>
and <TRKREF>
with the appropriate values:
<reevoo:Mark sku="<SKU>" trkref="<TRKREF>" BaseUri="http://mark.reevoo.com/reevoomark/embeddable_reviews.html" runat="server"/>
It is also possible to specify locale and the number of reviews you'd like in the baseURI:
<reevoo:Mark sku="<SKU>" trkref="<TRKREF>" baseURI="http://mark.reevoo.com/reevoomark/fr-FR/10/embeddable_reviews.html" runat="server" />
Any changes to the visiblity settings of the 'traffic reviews solution' will require you to call the code below to ensure the correct formatting is applied.
NOTE: This assumes you are using the latest version of the Reevoo JS library.
ReevooMark.auto_scale()
If you display the reviews in a tabbed display, or otherwise require visitors to your site to click an element before seeing the embedded reviews, add the following onclick attribute to track the clickthroughs:
If your trkref value is for example "REV" you would add:
onclick="ReevooMark_REV.track_click_through(‘<SKU>’)”
If your trkref value is for example "PIU" you would add:
onclick="ReevooMark_PIU.track_click_through(‘<SKU>’)”
See how in examples above you need to put your trkref value as a suffix to the ReevooMark_ bit. Also remember to replace by the sku of the product to which the reviews belong.
If your site includes online shopping functionality add Reevoo's purchase tracking to your store by including the following tag in your "Order Confirmation Page":
<reevoo:PurchaseTrackingEvent trkref="REV" skus="999,222,3373" value="342.00" runat="server"/>
In the tag above:
- Make sure to replace the value of the "trkref" attribute with your own trkref.
- Replace the value of the "skus" attribute with a comma separated list of all the skus that have been purchased as part of the order.
- Replace the value of the "value" attribute with the total value of the order, you don't need to include currency symbol.
All this tracking information will be available to you on your Reevoo Analytics account.
This type of tracking is used as a substitute of purchase tracking, detailed in the section above, for retailers that do not offer online purchase in their stores and therefore do not have an order confirmation page.
These retailers can use reevoo:propensityToBuyTrackingEvent, which can be added to any page they wish on the site.
To add a propensity to buy event to a page use the following tag:
<reevoo:PropensityToBuyTrackingEvent trkref="REV" action="Requested Brochure" sku="234" runat="server"/>
In the tag above:
- Make sure to replace the value of the "trkref" attribute with your own trkref.
- Replace the value of the "action" attribute with a string desccribing the type of event that you want to track, can be anything you want like "user visited the buy now page" or "user requested brochure" or "user requested a test drive", etc...
- The "sku" attribute is optional, you only have to include it if you want to link the tracking event to a specific product sku, otherwise just leave it empty.
All this tracking information will be available to you on your Google Analitycs account.
.NET v2.0+
This software is released under the MIT license. Only certified ReevooMark partners are licensed to display Reevoo content on their sites. Contact sales@reevoo.com for more information.
(The MIT License)
Copyright (c) 2008 - 2010:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.