A little over a month ago, I wrote an article on Spree vs Magento Features. Recently, a client asked me to describe the features mentioned in that article. I thought this was another great opportunity to expand on my response to the client. So, here I am, revisiting ecommerce features in Spree and Magento. The original article can be referenced to compare availability of these features in Spree and Magento.
Features on a Single Product or Group of Product
- Product reviews and/or ratings: functionality to allow customers to review and rate products. See a Backcountry.com product page for an example.
- Product QnA: functionality allow customers to ask and answer questions on products. See a Backcountry.com product page for an example.
- Product SEO (URL, title, meta data control): functionality to allow site administrators to manage product URLs, product page titles, and product meta data.
- Advanced/flexible taxonomy: functionality to build a custom taxonomy / navigation structure for product browsing. For example, build multiple categories and subcategories with complex hierarchy. The taxonomy at Spree's demo includes two categories of brand and category and subcategories in each.
- SEO for taxonomy pages: functionality to allow site administrators to manage taxonomy URLs, taxonomy page titles, and taxonomy meta data.
- Configurable product search: functionality to allow the developers and site administrators to adjust parameters used in search, such as products to show per page, and to show products with no on hand stock.
- Bundled products for discount: functionality to allow site administrators to create bundles or group products together and then apply a discount to the entire bundle. For example, product X, Y and Z purchased together will yield a $10.00 discount.
- Recently viewed products: functionality to show customers products they recently visited. This can be displayed on other product pages or the navigation pages to aid in navigation back to those products if the user would like to revisit the products. See the image below for an example of this functionality in action at Paper Source.
- Soft product support/downloads: functionality to sell soft products such as mp3 or pdf files.
- Product comparison: functionality to allow customers to compare multiple products, such as a comparison of price or technical features. See Backcountry.com for an example.
- Upsell: functionality to encourage the customer to purchase a similar product from a higher price point, or to purchase an add on, may or may not include the functionality to allow site administrators to manage the upsell products.
- Cross sell: functionality to encourage the customer to purchase related items, may or may not include the functionality to allow site administrators to manage the cross sell products. See the image below for an example of this functionality at Backcountry.com after adding an item to the cart.
- Related items: functionality to display related items on product pages, may or may not include the functionality to allow site administrators to manage the related products.
- RSS feed of products: functionality to produce a RSS feed with product detail releases. steepandcheap.com offers a RSS feed, however, they are unique in that they offer a one deal at a time business model, so the RSS feed contains a stream of products for sale. This may or may not include the functionality to allow site administrators to manage the RSS feed contents.
- Multiple images per product: functionality to allow site administrators to upload multiple products per image. See a Spree demo product for an example.
- Product option selection (variants): functionality to allow site administrators to create and manage variants for products to offer multiple variants per product, such as variants by size and color. See a Spree demo product for an example.
- Wish list: functionality to allow customers to create product wish lists. See Amazon.com for a description of their wish list functionality.
- Send product email to friend: functionality to allow customers to send emails to their friend to visit a specific product.
- Product tagging / search by tagging: functionality to allow site administrators to assign tags to products for navigation or searching. See CityPass's blog for an example of tag use in a content management system; in ecommerce context, the tags would navigate to a set of products instead of a set of blog articles.
- Breadcrumbs: functionality that renders the product navigation hierarchy on navigation and product pages to allow customers to navigate to previous pages visited. See a Spree demo navigation page for an example.
- Blogging functionality: functionality to allow site administrators to create, manage and display blog articles.
- Static page management: functionality to allow site administrators to create, manage, and display static pages such as “About Us”, “Information”.
- Media management: functionality to allow site administrators to create, manage, and display media such as images, video, audio. See the image below for an example of WordPress's dashboard for content management.
- Contact us form: functionality to allow customers to submit a request for contact. See End Point's contact page for an example.
- Polls: functionality to allow site administrators to create and manage basic polls, functionality to allow customers to submit answers to basic polls.
- One page checkout: functionality to allow customers to complete checkout on one page, rather than move forward through checkout through multiple address, payment pages. See Paper Source or Backcountry.com's checkout processes for examples.
- Guest checkout: functionality to checkout without creating a user account. Checkout at the Spree demo without being logged in for an example.
- SSL support: functionality to configure use of SSL during checkout. In Spree's case, the site administrator may turn SSL off during development and on during production.
- Discounts: functionality to allow customers to apply discount coupons to orders for a percentage or dollar amount reduction.
- Gift certificates: functionality to allow customers to purchase and use gift certificates as credit for purchases.
- Saved shopping cart: the functionality to save the products in a customers shopping cart so their shopping cart will be pre-populated on their next visit.
- Saved addresses: functionality to allow customers to create and manage addresses to be selected during checkout for billing or shipping rather than requiring the customer to re-enter their address. See the image below for an example of using saved addresses during Backcountry.com's checkout.
- Real time rate lookup (UPS, USPS, FedEx): the functionality to request rates from UPS, USPS, or FedEx during checkout for more accurate rate pricing rather than using a flat shipping rate.
- Order tracking: functionality to allow the site administrators to enter order tracking information and allow the user to review that tracking information, may or may not include sharing this information in a “Your order has been shipped” email.
- Multiple shipments per order: functionality to allow site administrators to split orders into multiple packages if specific products can not be shipped at the same time or can not be shipped together. See the image below for an example of Spree's backend shipping interface.
- Complex rate lookup: functionality to calculate ship rates based on weight or price.
- Free shipping: functionality to offer free shipping.
- Multiple payment gateways: integration of multiple payment gateways such as Authorize.NET, Beanstream, Paypal, SagePay, etc.
- Authorize.Net: integration of the Authorize.Net payment gateway; may or may include the use of profiles (Authorize.Net CIM).
- Authorize and capture versus authorize only: functionality to allow site administrators to configure whether or not credit cards should be authorized only during checkout completion or authorized and captured. If the credit card is authorized only, site administrators may finalize an order by capturing on the backend interface.
- Google Checkout: integration of Google Checkout.
- Paypal Express: integration of Paypal Express.
- Sales reporting: the functionality to display sales statistics, such as profits on sales or year-over-year sales.
- Sales management tools: functionality to allow site administrators to create and manage product sales. For example, the site administrator might create a 50% off sale to cover 25% of the products to begin in a week and end in two weeks.
- Inventory management: functionality to allow the site administrator to manage individual inventory units and their current state (on_hand, shipped, backordered) and order assignment.
- Purchase order management: functionality to allow the site administrator to create and manage purchase orders. See the image below for an example of a potential backend interface for purchase orders in Spree.
- Multi-tier pricing for quantity discounts: functionality to allow customers to buy large quantities of products at a discount, the functionality to allow the site administrator to manage the large quantity product discounts.
- Landing page tool: functionality to create custom landing pages that may include targeted content or products, typically used for advertising or marketing.
- Batch import and export of products: functionality to allow the site administrator to import and export products via admin interface or script rather than entering each product individually.
- Multiple sales reports: See "Sales reporting" above.
- Order fulfillment: functionality to allow site administrators to manage fulfillment (inventory selection, shipping) of orders.
- Tax Rate Management: functionality to manage tax rates per zone, where zones are defined by states and/or countries. Note that in Spree, zones can only be defined by a combination of states and countries and tax rates can be tied to one or more zones.
User Account Features
- User addresses: See "Saved addresses" above.
- Feature rich user preferences: integration of various user account tools, such as address management, profile management, order review, etc.
- Order tracking history: functionality to allow a customer to lookup their order history, may or may not include order tracking information.
Site Wide Features
- Extensibility: functionality to extend the ecommerce core with modular components.
- Appearance Theming: functionality to change the appearance of the site.
- Ability to customize appearance at category or browsing level: functionality to create and manage custom and varied appearances for product browsing pages. For example, the categories "Jackets" and "Pants" may have different appearances, motivated by marketing or advertising.
- Localization: the functionality to translate the ecommerce site to a different language. See the image below for a small example of localization in action in Spree.
- Multi-store, single admin support: functionality to manage multiple stores from a single administrative location. An example of this might include http://store1.endpoint.com/, and http://store2.endpoint.com/, where both can be managed at http://admin.endpoint.com/.
- Support for multiple currencies: functionality to translate product prices between currencies.
- Web service API: functionality to retrieve data from the ecommerce application for third party use. See Spree's documentation on the Spree API.
- System wide SEO: general site-wide SEO functionality including features such as sitemap, googlebase integration, URL management, page title management.
- Google Analytics: functionality to allow site administrators to create and manage Google Analytics Ids, functionality to track traffic and conversion on the frontend.
- Active community: an active developer community with frequent core and extension contributions.
Most of the features described above are well known to ecommerce developers, but this list might also serve as a good checklist to review with a potential client during the estimate process to make sure expectations of an ecommerce platform are managed, especially with a young platform such as Spree where some features are not yet included in the core.