Preparing your retail site
Before Frosmo can deploy the retail setup to your site, the site must be ready to be integrated with the Frosmo Platform. This guide shows you how to prepare your site so that it is ready.
Process overview
The following table summarizes the preparation process and shows you who's responsible for which task (either you or Frosmo, or both). The table also shows which tasks are required and which are optional.
If you are at any point unsure how to proceed, contact Frosmo support, and we'll help you forward.
Task | You | Frosmo |
---|---|---|
Required | ||
1. Provide the Frosmo script elements and optionally the Frosmo Control Panel user account credentials. | ✕ | |
✕ | ||
3. Set up a product data feed for the site, if one does not already exist. | ✕ | |
4. Set up the events and metadata for product and visitor tracking. | ✕ | |
✕ | ||
6. Deploy the retail setup to the site. | ✕ | |
Optional | ||
✕ | ||
✕ |
Preparing your site
The following tasks are your responsibility in the preparation process.
Adding the Frosmo scripts to the site
To integrate the Frosmo Platform with your site, add the two <script>
elements provided by Frosmo to every page of the site. The following code snippet shows an example where the <script>
elements have been added at the end of the <head>
element in the page source code.
<!-- Load the Frosmo Platform -->
<script type="text/javascript" charset="utf-8" src="//d2wzl9lnvjz3bh.cloudfront.net/frosmo.easy.js" async></script>
<script type="text/javascript" charset="utf-8" src="//d2wzl9lnvjz3bh.cloudfront.net/sites/company_com.js" async></script>
</head>
The first element loads the Frosmo Core library (frosmo.easy.js
). The second element loads the Frosmo custom script (<site_origin>.js
).
For instructions on how to add the elements to your site, see Adding the Frosmo scripts to your site.
For more information about the Frosmo scripts, see Technical overview.
Setting up a product data feed for the site
Data feeds are a common feature on today's websites, so you may already have one available, in which case you would only need to provide Frosmo access to it. Check with your system administrator before setting up a new data feed.
The retail setup uses a product data feed as the primary source for collecting data about the products on your site. A data feed is more reliable than product tracking on the site, since the latter relies on visitors viewing pages that contain and send product data, and since the product data on the site may be incomplete or out of date. Using a data feed ensures that the Frosmo Platform always has the latest and complete data available for analytics and web content.
To read your product data feed, Frosmo needs:
-
Feed URL
-
Feed data structure description
If the data structure of the feed is not self-explanatory, Frosmo needs a description of the data structure.
-
Authentication credentials
If reading the feed requires authentication, Frosmo needs the proper authentication credentials. The Frosmo Platform currently supports the "Basic" and "Bearer" schemes for HTTP authentication.
-
Frosmo IP whitelisting
If access to the feed is restricted by IP address, Frosmo's IP addresses must be whitelisted for permanent access. Frosmo will provide the appropriate IP addresses on request.
Once you've provided this information, Frosmo will set up and schedule a feed reader to retrieve and save the product data at regular time intervals. The available update intervals are: 1 day, 2 hours, 1 hour, 15 minutes. The feed reader will handle any conversions between your product data structure and the Frosmo product data structure.
Product data feed setup
The product data feed must be in either the JSON or XML format. Optionally, the feed can be gzip-compressed.
The following table describes the minimum recommended set of attributes per product in the feed. For an example of a feed, see the code snippet below the table.
Attribute | Description | Required |
---|---|---|
Category | Product category or categories. This can also be a keyword, tag, type, or any other form of classification used on the site. Define a hierarchy of parent and child categories as a breadcrumb using note The category or categories must be the same as the ones sent for the product from the site. | ✕ |
ID | Product ID. note The ID must be the same as the one sent for the product from the site. | ✕ |
Availability | Product availability in the web store. | |
Brand | Brand name for the product, or the company that produces the product. | |
Image URL | Product image URL or URLs. | |
Name | Product name. | |
Page URL | Product page URL. | |
Price, current | Current unit price for the product, such as a discount price. | |
Price, original | Original unit price for the product, before any discounts. |
The following code is an example of the contents of a product data feed in the JSON format.
[
{
"id": 123,
"name": "Electric Planer KL370090G 300 Watts",
"price": 599.00,
"priceOrig": 799.00,
"brand": "Wakita",
"images": [
"https://company.com/images/products/product-123-large.webp",
"https://company.com/images/products/product-123-medium.webp",
"https://company.com/images/products/product-123-small.webp"
],
"badges": [
"new",
"sale"
],
"rating": 4,
"reviews": 12,
"availability": "In stock",
"categories": [
"Power Tools/Woodworking",
"Campaigns/Summer Building"
],
"features": [
{
"name": "Speed",
"value": "750 RPM"
},
{
"name": "Power Source",
"value": "Cordless-Electric"
},
{
"name": "Battery Cell Type",
"value": "Lithium"
},
{
"name": "Voltage",
"value": "20 Volts"
},
{
"name": "Battery Capacity",
"value": "2 Ah"
}
],
"options": [],
"stock": 7,
"deliverTime": 3,
"url": "https://company.com/products/123",
},
{
"id": 456,
"name": "IRadix DPS3000SY 2700 Watts",
"price": 579.00,
"priceOrig": 579.00,
"brand": "Wakita",
"images": [
"https://company.com/images/products/product-456-large.webp",
"https://company.com/images/products/product-456-medium.webp",
"https://company.com/images/products/product-456-small.webp"
],
// ...
},
// ...
]