Introducing A New Prototype—Product Variations (A Better Implementation Of Product Option Combinations)

Hello,

Products that you sell in the online store often have options. For example, jeans can have different sizes and colors, smartphones—different memory capacity and screen sizes.

CS-Cart provides you with a flexible product option management. You can create as many options as you want, add them to products, and create option combinations.

A pants option combination: the “Black/White/White” color + the “small” size

Combinations do the job they were created for and look as separate products: you can add an image, an SKU, and configure the price. And when I say “configure”, I mean you set the price for an option combination using option modifiers. You cannot just input the price for a combination into the “Price” field because there’s no such field.

Pants of the “Dark Navy/White/White” color cost more

Option combinations only look as separate products, but programmatically, they are not. Because of this, option combinations have some restrictions and inconveniences.

But not anymore.

Today, we’re presenting to you a new prototype—product variations. Variations are physical products based on options.

<span><span style="font-size:20pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;">Things Product Variations Can Do, Which Option Combinations Cannot</span></span>

Product variations greatly suit products you physically have in your store.

Here’s what you can do with product variations:

Multiple pictures for a product variation. An option combination can only have one picture. A product variation supports multiple pictures just like a separate product.

— The “Price” and “List price” fields. You can set the price and the list price for each product variation by simply entering the values into the fields. Just as you do with any other product. Option combinations don’t have these fields. You set the price for a combination using option modifiers, which is inconvenient.

— Quantity discounts. Set a quantity discount for a certain product variation. This is another feature that brings product variations closer to a separate physical product. Of course, you cannot set quantity discounts for option combinations.

— The “Back in stock” notification. A customer can subscribe for the “In stock” notification. When the product variation is in stock again, the customers receives the email. This is not possible for option combinations.

— A single .csv file for products and product variations. Now, store admins export products and option combinations separately into two .csv files. So, updating the product list is inconvenient and confusing. With product variations, you export both products and their variations into a single file. Handy!​

— VAT. You can enable taxes for product variations.

Setting up a T-Shirt product variation

<span><span style="font-size:20pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;">How to Try Product Variations</span></span>

We’ve created a special demo equipped with the product variations feature. Open it now and follow the instructions below to test product variations:

Storefront: http://variations.demo.cs-cart.com/

Admin panel: http://variations.demo.cs-cart.com/admin.php

1. In the admin panel, click Products → Products. In the right-side search panel, search for the T-shirt product (product code—TSHIRT).

2. Open the T-shirt product for editing and on the product editing page, switch to the Options tab.

3. You see there two pre-added options: color and size. Click the Generate product variations button. Actually, we’ve already generated variations for this T-shirt. You can check them out by clicking the gear button on the T-shirt product editing page. But we recommend you to try the generation process yourselves.​

4. Generate a product variation (or several variations) via a simple step-by-step wizard.

5. Click Save at the top right.

Now, you have variations of that T-shirt that you can manage as separate products. Customers select variations by selecting the product options they need.

How customers choose product variations

<span><span style="font-size:20pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;font-weight:400;">FAQ</span></span>

Q: How to create a new product with variations?

A: When you create a new product, select Configurable product in the Product type drop-down on the product editing page.

Q: How to view all the variations of a certain product in the admin panel?

A: On the product editing page, click the gear button at the top right and select Product variations.

Q: Where I can test this new product variations feature?

A: In our special demo at http://variations.demo.cs-cart.com/admin.php

----

We’re looking forward to your feedback on product variations! We appreciate any discussion here in this forum topic. So, share your opinion and ideas on how to make variations more convenient.

Thanks!

Great! I have been waiting for this forever! When will it be available for download?

Thanks,
X

Many things requested in uservoice are missing.

1) Where can we put GTIN and part number (Code field should be my internal product code).

2) How is it structured in database. Is it in the products table? The previous (Option Combinations) architecture prevents from integration with 3rd parties through XML. Did you think about overcoming this problem while designing variations?

3) When will it be possible to create data feed with variations

4) Where is variation weight?

5) Is it possible to create variations through API?

6) Why didn't you implement different seo url's for variations eg. product-name/color-name/size-name - it would allow to direct traffic from CPC campaigns directly to the product which our customer wants to buy. Will it be possible in future versions?

7) Autogenerated variation name looks weird. Can we get rid off option name from product name?

8) Will it be possible to show miniatures of variations images under main product image in order to show that the product has different color options on category listing (e.g. https://www.walmart.com/browse/headphones/headphones/3944_133251_1095191_4480)

Guys I don't want to criticize you too much, because I think variations are a step in a good direction... But it seems for me that the solution which you present today doesn't solve any problems which modern e-commerce platform should. We want easy integration with 3rd parties. We want easy db structure and ability to set unique properties (e.g. GTIN, weight, etc) of a product in our e-commerce system.

I hope that you understand that our success as entrepreneurs will become your success as software providers. Please take into consideration our feedback.

Best regards,

Jacek

One more question:

8) Will it be possible to convert option combinations to variations?

Many things requested in uservoice are missing.

1) Where can we put GTIN and part number (Code field should be my internal product code).

2) How is it structured in database. Is it in the products table? The previous (Option Combinations) architecture prevents from integration with 3rd parties through XML. Did you think about overcoming this problem while designing variations?

3) When will it be possible to create data feed with variations

4) Where is variation weight?

5) Is it possible to create variations through API?

6) Why didn't you implement different seo url's for variations eg. product-name/color-name/size-name - it would allow to direct traffic from CPC campaigns directly to the product which our customer wants to buy. Will it be possible in future versions?

7) Autogenerated variation name looks weird. Can we get rid off option name from product name?

8) Will it be possible to show miniatures of variations images under main product image in order to show that the product has different color options on category listing (e.g. https://www.walmart.com/browse/headphones/headphones/3944_133251_1095191_4480)

Guys I don't want to criticize you too much, because I think variations are a step in a good direction... But it seems for me that the solution which you present today doesn't solve any problems which modern e-commerce platform should. We want easy integration with 3rd parties. We want easy db structure and ability to set unique properties (e.g. GTIN, weight, etc) of a product in our e-commerce system.

I hope that you understand that our success as entrepreneurs will become your success as software providers. Please take into consideration our feedback.

Best regards,

Jacek

Hi Jacek,

Thank you for actual questions. First of all I should notice that this is prototype and some things are not just implemented, and some things were just missed out. That's why we try to gather as much feedback as possible,

1) Not yet implemented, but we plan to do this.

Please confirm that when you mention GTIN you need it for Google Export.

2) Yes, we thought about this. The new variations (we will call it new combinations this way) are stored the same ways as usual product in products table. That's why Export/Import for variations will work the same way as for regular products.

3) Yes, it will be possible.

4) Not yet implemented, but we plan to add it.

5) Most probably yes accordingly to current architecture of variations, but we did not test it yet.

6) Why do you need combinations at all if you plan to use different seo urls? It will be absolutely different products in this case.

In variations you will be able to have own URL for each variation product but it will be defined by parameters like this

store.com/tshirt.html?combination=26_182_27_189

I really would like to understand the use case.

7) Why would you like to get rid of it? This name is not showed anywhere except admin area - and it is a good way to uderstand what combinations is it on list of variations products: http://variations.demo.cs-cart.com/stores/17acb717cf506776/admin.php?dispatch=products.manage&parent_product_id=249&product_type=V

8) As for color thumbnails. We do not have Color feature implementation, when you click on color icon and thumbnail is changed. It is not about variations in general, it's only about color option. So I'm not sure we will digg into it.

Your critics is much appreciated, really!

It's the only way for us to make this feature usable. So. please keep on doing it!

One more question:

8) Will it be possible to convert option combinations to variations?

I suppose yes, it will be.

But we did not thing of this yet. It will be later when we know for sure that our implementation suite store owners needs.

@Imac

1. GTIN is not only for Google Export purposes. As an unique identifier it allows in depth analysis of sales throughout all of the sales channels. It may have many use cases and because of that it should be possible to get product by gtin through API. In variations there should be ability to set GTIN per variation (user should not see GTIN field on main product tab only in variations). In simple product there should be also a GTIN field. The same rules should be implemented in regard to internal SKU (number assigned by my company in order to keep track of stocks etc.) Why we need both GTIN and SKU? Not all products have assigned GTIN by manufacturer (it is standardized and costs money) but all products have SKU assigned by us.

2. Great news! Could you share downloadable demo in order to have a peek on db schema?

5. Please test it and let us know if it works :-)

6. In some cases (especially expensive) products have named colors (collections) and phrases like "Manufacturer + Model Name + Color Name" reach high search numbers. Different seo urls with structure product-name/color-name would allow marketers to rank for those keywords. I agree that in most cases directing traffic through CPC by url parameter will suffice You should ask community if they need this feature and add it as an configurable option per product variation.

7. If I understand correctly variation name is cscart_products.product. So if we will want to create data feed those will be the exported names of the products, correct? If we integrate with third parties the names will look weird for customers. In some languages it will be semantically weird. Moreover some third parties (including google) display contextual ads based on product name (the more accurate name to search query the higher likelihood of displaying the ad). I agree that the proposed by you structure allows for easy identification of what variation are we modifying but it's not a customer centric approach.

8. It would be great if you could do that.

9. Cool. Hope it will be an easy process.

1. Please don't forget to add following fields to variations:

  • Minimum order quantity:
  • Maximum order quantity:
  • Quantity step:
  • List quantity count:

2. What about features? If the main product is T-shirt, then variation's features could be blue, green, black etc.

3. Will quantity discount work finally as % calculated of absolute price? Previously it was very weird, because quantity dicount was applied on modifier's value only

4. Will variation i.e. price be individual for each strorefront?

5. Could you finally add shipping availability variable "ships in X days". I should be applied to variations too. Size L ships in 2 days, size XXXL ships in 10 days

6. Variantion weight is a must!

7. Items in a box etc ?

There are certainly more parameters that should be applied to variations individually and not only on the configurable product level.

Imagine yourselves the you are selling eg. pictures frames, where one is 10x10cm and the other 100x200 cm. You will realize then, that you need different weight, size etc. and going very far maybe even different shipping method.

I think most of us sell different, more sophisticated products than shoes and t-shirts :-)

5. Could you finally add shipping availability variable "ships in X days". I should be applied to variations too. Size L ships in 2 days, size XXXL ships in 10 days

+ 1000! I would kill for such a feature :-) Additionally, on cart page you should have listed all shipping times and on checkout page user should see info "Your order will be shipped in {Max value from shipping days for products} days". It would be awesome!

+ 1000! I would kill for such a feature :-) Additionally, on cart page you should have listed all shipping times and on checkout page user should see info "Your order will be shipped in {Max value from shipping days for products} days". It would be awesome!

I have an impression that cs-cart is the last on the Planet Earth, that haven't implemented that basic and essential function yet.

As a temporary solution you could go for:

http://www.alt-team.com/cs-cart-shipping-availability-add-on.html

It doesn't display max value on the cart page as it is based on text variables, however it could give you the possibility to fill up one of the merchant's basic "information duties" to inform customers abount delivery times.

I have an impression that cs-cart is the last on the Planet Earth, that haven't implemented that basic and essential function yet.

As a temporary solution you could go for:

http://www.alt-team.com/cs-cart-shipping-availability-add-on.html

It doesn't display max value on the cart page as it is based on text variables, however it could give you the possibility to fill up one of the merchant's basic "information duties" to inform customers abount delivery times.

Thank you for mentioning our add-on.

Please, remember, we can change this add-on according to your demands, just drop us a line.

Best regards, Alt-team.

@Imac

1. GTIN is not only for Google Export purposes. As an unique identifier it allows in depth analysis of sales throughout all of the sales channels. It may have many use cases and because of that it should be possible to get product by gtin through API. In variations there should be ability to set GTIN per variation (user should not see GTIN field on main product tab only in variations). In simple product there should be also a GTIN field. The same rules should be implemented in regard to internal SKU (number assigned by my company in order to keep track of stocks etc.) Why we need both GTIN and SKU? Not all products have assigned GTIN by manufacturer (it is standardized and costs money) but all products have SKU assigned by us.

2. Great news! Could you share downloadable demo in order to have a peek on db schema?

5. Please test it and let us know if it works :-)

6. In some cases (especially expensive) products have named colors (collections) and phrases like "Manufacturer + Model Name + Color Name" reach high search numbers. Different seo urls with structure product-name/color-name would allow marketers to rank for those keywords. I agree that in most cases directing traffic through CPC by url parameter will suffice You should ask community if they need this feature and add it as an configurable option per product variation.

7. If I understand correctly variation name is cscart_products.product. So if we will want to create data feed those will be the exported names of the products, correct? If we integrate with third parties the names will look weird for customers. In some languages it will be semantically weird. Moreover some third parties (including google) display contextual ads based on product name (the more accurate name to search query the higher likelihood of displaying the ad). I agree that the proposed by you structure allows for easy identification of what variation are we modifying but it's not a customer centric approach.

8. It would be great if you could do that.

9. Cool. Hope it will be an easy process.

1. GTIN is not product property. it is a feature. And btw it is created only in case you install Google Export add-on.

You can filter products by GTIN or any other feature when using API see product features.

2. No such demo yet. All variations stored in "product_" tables absolutely the same way as regular products does.

6. Thank you.

7. Ok I see, what product name pattern would you like to use? Same name as main product?

Hi chris102,

1. Please don't forget to add following fields to variations:

  • Minimum order quantity:
  • Maximum order quantity:
  • Quantity step:
  • List quantity count:

2. What about features? If the main product is T-shirt, then variation's features could be blue, green, black etc.

3. Will quantity discount work finally as % calculated of absolute price? Previously it was very weird, because quantity dicount was applied on modifier's value only

4. Will variation i.e. price be individual for each strorefront?

5. Could you finally add shipping availability variable "ships in X days". I should be applied to variations too. Size L ships in 2 days, size XXXL ships in 10 days

6. Variantion weight is a must!

7. Items in a box etc ?

There are certainly more parameters that should be applied to variations individually and not only on the configurable product level.

Imagine yourselves the you are selling eg. pictures frames, where one is 10x10cm and the other 100x200 cm. You will realize then, that you need different weight, size etc. and going very far maybe even different shipping method.

I think most of us sell different, more sophisticated products than shoes and t-shirts :-)

1. Can you please share your use case, why do you need different options for quantity for different variations?

2. Features will be variation specific, but I'm not sure if all of them should be. In case all features have separate values for variations, than if you change feature common for all variations like "Brand" you should do it for each variation.

3. Yes, it's already working. Please check the demo of t-shirt from the first post.

4. Most probably yes.

6.7. Shipping properties tab, will add this.

+ 1000! I would kill for such a feature :-) Additionally, on cart page you should have listed all shipping times and on checkout page user should see info "Your order will be shipped in {Max value from shipping days for products} days". It would be awesome!

5. Why don't you use this promo text for it: https://www.evernote.com/l/AQGxXThOct9ILbnwFmz5clos0TFtB7lH9ig

Weel done, a great step in the right direction.

Is there an ETA for when this will be available?

Is there an ETA for when this will be available?

We hope to release this feature in July 2017.

Could you also please integrate cost per weight, amount, etc? In a lot of countries it is obligatory to mention this so people can compare. For example:

A product of 60 ml costs 15.95 - under it should appear:

€26.58 per 100 ml

Could you also please integrate cost per weight, amount, etc? In a lot of countries it is obligatory to mention this so people can compare. For example:

A product of 60 ml costs 15.95 - under it should appear:

€26.58 per 100 ml

As far as I remember there is an add-on for this at Marketplace.

This feature is not related to variations.

Bravo, grate improvements..

Missing "Back in stock notification for product options" is really usefull.

Till now, if you sell product with options you couldnt use this notification at all..

But the main bingo is that finally you can manage inventory in CS-Cart if you have sizes and colors..

Missing "1 csv file for export/import products and product variations together" were the reason why my colleague switched from CS-Cart to Magento.. Unfortunately and many others. For them its too late, but as Mr.Makarov promised we will have this in July 2017.

So, for all others with similiar problems, wait till July before thinking to switch to some other ecommerce..

And ofcourse, continue using all other grate features that only CS-Cart has..

Also, turning option combinations into variations will be of grate help..

1. GTIN is not product property. it is a feature. And btw it is created only in case you install Google Export add-on.
You can filter products by GTIN or any other feature when using API see product features.


Right now features are related to base product not variation. If you implement features so that every single variation might have different values than it might work. I'm only afraid that because of the complexity of such an architecture it will take you another few years to implement this (this already happened during cs-cart dev history).

7. Ok I see, what product name pattern would you like to use? Same name as main product?

Product name + option combination name

It would be best if we could define per option if we want to prefix/suffix option name in variation name.

5. Why don't you use this promo text for it: https://www.evernote.com/l/AQGxXThOct9ILbnwFmz5clos0TFtB7lH9ig


1. Because it is related with variation e.g. I have a red t-shirt in stock and I want my customers to know that I will ship it within 24 hours. I also know that my supplier has available green t-shirt in his stock and it usually takes us 72 hours to ship this item.

If customer adds red t-shirt to basket and green t-shirt to basket I want to let him know (on checkout and cart page) that his order will be ship within 72 hours (Max value from items shipping times).

So this feature should cover this scenarios and it should be able to set it via API:

1) Product/Variation is in my stock (phisically) and I want to track inventory (default shipping time value is applied)

2) Product/Variation is not in my stock but it is in my supplier stock - I don't wan't to track inventory but I want to set specific shipping time

3) Product/Variation is in my stock (1 pice) and is in my supplier stock inventory. Customer purchases 2 pices. On checkout and cart page he is informed that the shipping time is the specific shipping time for this item (not default value)