Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Amazon Juggernaut


Dan Cole

Recommended Posts

Is retail on the ropes?  It is both interesting and scary to watch this play out. 

 

Generic online box shifters are doomed.

 

I'm in the pet industry and one of the major players in that market and has recently instructed their distributors not to sell to online retailers including Amazon. They are also insisting on sales reports from those distributors to ensure they don't sell to those who sell online.  Some say they want to sell to Amazon directly...others say they are trying to save the retail stores.   Many of the other manufacturers in the pet industry are enforcing a MAP policy.  It maybe to little to late for retail but this is what is happening in the pet industry.   

 

What's happening in the industry you play in?

 

Dan

Link to comment
Share on other sites

  • Replies 88
  • Created
  • Last Reply

@@Dan Cole

 

I am in the UK and in the model railway hobby industry. There have always been businesses in this industry that will not sell to those that only sell online, and claim that to buy from them you have to have a retail shop. These businesses are some of the oldest and biggest in the industry, and some also wholesale other manufacturers products. Now I can see why they choose to sell this way, as apparently it "levels the playing field" or so they say, but it must be harming their business. Some of the larger retail businesses also have online stores and they are the ones that discount the products and hope to shift volume. The very people that the silly rules are supposed to help are the ones that are creating the problems. Smaller model shops are closing from many high streets. Even some large ones have disappeared, never to be seen again.

 

Some of the businesses that wont sell to online only businesses also have terms that say retailers cannot discount and sell to online sellers. Whilst I appreciate that they would find it hard to prosecute someone, I believe that by stopping selling products to them, they will do more harm to the business so its not worth the risk.

 

I dont have a shop and work from home, and have spent a long time finding replacement items for some of the items that I cannot buy from the mainstream sellers, and I can sell these items at similar or reduced prices. Those businesses have lost out, and I am now starting to sell my products to some other retailers and sellers because I can do it cheaper.

 

I recently had a long chat to a business owner that sells die-cut card kits through one of these wholesalers that will sell only if you have a shop. I get over 30 sales requests a month about their products, but have to say that I cannot even buy the items, let alone stock them. Again its my loss, but also the loss to the other business must be huge when thinking about similar inquiries to other online businesses.

 

Rant over, but it is frustrating when other, older businesses seem to make the rules for the whole industry.

REMEMBER BACKUP, BACKUP AND BACKUP

Link to comment
Share on other sites

Jeff Bezos is one of the 8 richest people in the world for 2016.

 

One thing we call all think about is why we buy something from Amazon and why we go to a stand alone site.  For me, it's because Amazon is easy, often fast, and we can combine items not all on one other site.  I have to say that I love Amazon restaurant delivery!  It looks like it was a smart idea for them to do it because it seems to be doing very well here at least for certain restaraunts.

 

A week ago I ordered live crawfish from a site and we had a crawfish boil.  It's a unique item so I go to a unique site, although, there serveral that do it. 

 

On that note, I sell dried and preserved flowers, mosses, grasses, etc...   So, I have items you cannot get on Amazon and some you can.  Shipping costs are killing me because my items are light, but dimensional weight bills them much higher.  A box that is 24x12x12 bills at 25 lbs now.  Fedex and Ups both went to dimensional weight on all boxes in Jan 2015 but they changed the dim factor to 139 this year increasing the billing weight.  That along with sliding down on Google in recent years has hurt me.

I'm not really a dog.

Link to comment
Share on other sites

  • 1 month later...

Interesting article - more about the value of reviews then amazon... but amazon is the 800 lb gorilla in reviews.

https://www.thestar.com/business/2017/03/24/amazon-reviews-by-buyers-worth-billions-experts-say.html

We're doing MUCH better in this regard since implementing @@burt key module... now to spend more time to display these results to potential new customers in product listing and product info....

Link to comment
Share on other sites

A couple of things really stand out in that piece you linked to;

 

Going from zero review to one increases the rate at which online window-shoppers actually click the “buy” button by 65 per cent

 

and

 

“You need to get 20 reviews and you’re golden,” said Keith Anderson, strategy officer at Profitero, which helps online sites price their products competitively.

 

I have to say that I do *always* read a couple of reviews when I'm buying at Amazon and other places.  

Link to comment
Share on other sites

@@greasemonkey

product_info has a (quite basic) modular reviews module, ready to go...

 

Yep...part of this tread I think has  been about "learning" from the 800 lb gorilla.... looking how seamlessly and professionally Amazon displays the reviews (now that I have so many) I/we need to step it up....

 

Maybe as simple as adding avg review stars with color to the "review" button?

 

But also adding avg review stars to the product listing (a little more tricky.... until the product listing is modularized).

 

So.... so start just grabbing.... from product reviews...


$average_query = tep_db_query("select AVG(r.reviews_rating) as average, COUNT(r.reviews_rating) as count from " . TABLE_REVIEWS . " r where r.products_id = '" . (int)$product_info['products_id'] . "' and r.reviews_status = 1");
$average = tep_db_fetch_array($average_query);
echo '<div class="col-sm-8 text-center alert alert-success" itemprop="AggregateRating" itemscope itemtype="http://schema.org/AggregateRating"><meta itemprop="ratingValue" content="' . max(1, (int)round($average['average'])) . '" /><meta itemprop="bestRating" content="5" />' . sprintf(REVIEWS_TEXT_AVERAGE, tep_output_string_protected($average['count']), tep_draw_stars(tep_output_string_protected(round($average['average'])))) . '</div>';

and this from product info

<?php
    $reviews_query = tep_db_query("select count(*) as count, avg(reviews_rating) as avgrating from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd where r.products_id = '" . (int)$_GET['products_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' and reviews_status = 1");
    $reviews = tep_db_fetch_array($reviews_query);

    if ($reviews['count'] > 0) {
      echo '<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"><meta itemprop="ratingValue" content="' . $reviews['avgrating'] . '" /><meta itemprop="ratingCount" content="' . $reviews['count'] . '" /></span>';
    }
?>

  <div class="buttonSet row">
  <div class="col-xs-12 text-right"><?php if ($reviews['count'] > 0) {  
    echo tep_draw_button(IMAGE_BUTTON_REVIEWS . (($reviews['count'] > 0) ? ' (' . $reviews['count'] . ')' : ''), 'fa fa-heart', tep_href_link('product_reviews.php', tep_get_all_get_params()), 'default', NULL, 'btn-default'); 
	 }else{
    echo tep_draw_button(IMAGE_BUTTON_WRITE_REVIEW, 'fa fa-heart', tep_href_link('product_reviews_write.php', tep_get_all_get_params()), 'default', NULL, 'btn-default'); }?></div>
  </div>

  <div class="row">
    <?php echo $oscTemplate->getContent('product_info'); ?>
  </div>

And combine into a product info content mod???

Link to comment
Share on other sites

Something I've noticed Amazon does with reviews is show the same reviews on different links/products.  In some cases the product is more different than I tink the review should cross.  More importantly, is they show reviews across multiple sellers selling different knock off versions on something.  Case in point, Roomba replacement filters, brushes and such they are OEM and a variety of knock offs of varying quality.

 

I do have a point on this though.  I sell the exact same item but in different sizes, so I want to be able to apply the same review to a 4 lb. of something as the 8 lb.    So far I've done a couple by sql statements by hand in phpmyadmin.

I'm not really a dog.

Link to comment
Share on other sites

Reviews and Fake products are a bit of a problem on Amazon....here is another article from Practical Ecommerce.

 

The problem of fake products on Amazon

 

Dan

Link to comment
Share on other sites

 I originally took reviews off my site a long time ago becaue I don't sell branded products and I didn't get many reviews.  Now, I'm working to get them.  Also, there were major compaines getting caught faking reviews and pulling bad reviews. There are mulitiple problems with how Amazon does some things and reviews is one of them.  There are also allegations of products having fake positive reviews done for them on AZ too.

 

I recently bought a pair of poulty shears on AZ that I'm okay with, but it was obvious that the same shears were being made in China and branded by different companies.  This also happens in power tools although there can be worthwhile differences.  The shears I chose for $24 had a heavier weight spec'd and they seem pretty good.  Not the Shun that I would have bought if it weren't $75.  A lot of kitchen stuff made today is crap!

 

Look at dehumidifiers on Amazon and you'll see one company is making  a bunch of them.  Being in Florida, I've owned a couple of these and in January I decided to get a GE for $299 from Home Deopot that had similar specs to those on AZ for 50 less.  Upon setting the GE up it's obviously better made in several areas.  I'm glad I bought the GE but it's hard to see the difference.

I'm not really a dog.

Link to comment
Share on other sites

here is a super simple add to product listing to add the review stars....

 

Maybe a query expert could help combine this into 1 query?

 

in includes english....

//product_listing review stars
define('LISTING_TEXT_AVERAGE', '%s Review(s) %s');

and includes modules product listing... wherever you want it... I've added it below the add to cart button.

		  //rating stars
$average_query = tep_db_query("select AVG(r.reviews_rating) as average, COUNT(r.reviews_rating) as count from " . TABLE_REVIEWS . " r where r.products_id = '" . (int)$listing['products_id'] . "' and r.reviews_status = 1");
$average = tep_db_fetch_array($average_query);

$reviews_query = tep_db_query("select count(*) as count, avg(reviews_rating) as avgrating from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd where r.products_id = '" . (int)$listing['products_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' and reviews_status = 1");
$reviews = tep_db_fetch_array($reviews_query);

		      if ($reviews['count'] > 0) {
		  $prod_list_contents .= '<div class="col-sm-12 text-center">' . sprintf(LISTING_TEXT_AVERAGE, tep_output_string_protected($average['count']), tep_draw_stars(tep_output_string_protected(round($average['average'])))) . '</div>';
			  }else{
			  }		
Link to comment
Share on other sites

On this same topic... is there a way to change the color the review stars without touching html_output.php?

  // review stars
  function tep_draw_stars($rating = 0, $meta = false) {
    $stars = str_repeat('<span class="fa fa-star  star-color"></span>', (int)$rating);
    $stars .= str_repeat('<span class="fa fa-star-o  star-color"></span>', 5-(int)$rating);
    if ($meta !== false) $stars .= '<meta itemprop="rating" content="' . (int)$rating . '" />';

    return $stars;
  }

As above.... I have added star-color to the class and defined in user.css.... but I would have presumed a way without the core hack?

.star-color {
    color: yellow;
    -webkit-text-stroke-width: 0.25px;
    -webkit-text-stroke-color: orange;
}	
Link to comment
Share on other sites

I have an addon for extended reviews. http://www.oscommerce.com/forums/topic/410019-addon-extended-reviews/

 

Unfortunately while the idea is great the addon isn't modular, so I'll need to be updating it soon so that it's a one-click install :)

 

It's fully functional, so if anyone wants to try it go ahead.

osCommerce user since 2003! :thumbsup:

Link to comment
Share on other sites

There is a reviews module for Responsive osCommerce. Maybe @@frankl can be persuaded to add all of the nice features from his Addon to this module, or to something similar.

 

I believe that you do need the reviews on the product page (like Amazon does) for many reasons. Primarily, it makes them easier for the customers to read, and the search engines like the content.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

I'm pretty sure the stock module (which although incredibly basic) does show the stars.  

 

https://github.com/gburton/Responsive-osCommerce/blob/master/includes/modules/content/product_info/cm_pi_reviews.php#L48

 

For making these stars Golden, try;

 

 

blockquote footer .fa.fa-star, blockquote footer .fa.fa-star-o { color: gold; }

 

Note 1;  untested.

Note 2;  this should not affect any stars elsewhere in the site, as these are the only stars in a footer in a blockquote.

 

If you want gold stars sitewide;

 

 

.fa.fa-star, .fa.fa-star-o { color: gold; }
Link to comment
Share on other sites

@@douglaswalker

 

 

@greasemonkey do you mean a way to see the average number of stars on the product page for all reviews?

 

Correct..... stock we show a review button with a count (or write a review if.... > 0)

 

I was thinking to just grab the "stuff" inside the alert box from product_reviews and place it inside the button.... and make it a content module so it can be placed as desired....

 
Link to comment
Share on other sites

In product_info, https://github.com/gburton/Responsive-osCommerce/blob/master/product_info.php#L192-L199 - what this does is create Microdata telling Google (and others) the average review value of the Product.  That data can be seen by Google et al, but not by shoppers (in the product_info page)...

 

Would be good to move that into a module, and allow the possibility of displaying it so that it can be seen by shoppers, using tep_draw_stars function...

Link to comment
Share on other sites

In product_info, https://github.com/gburton/Responsive-osCommerce/blob/master/product_info.php#L192-L199 - what this does is create Microdata telling Google (and others) the average review value of the Product. That sata can be seen by Google et al, but not by shoppers (in the product_info page)...

 

Would be good to move that into a module, and allow the possibility of displaying it so that it can be seen by shoppers, using tep_draw_stars function...

+1

Link to comment
Share on other sites

Going back to the product_listing.php....

 

The final in one query was easy enough for a hack like me....

		  //rating stars
$reviews_query = tep_db_query("select count(*) as count, avg(reviews_rating) as avgrating from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd where r.products_id = '" . (int)$listing[$x]['products_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' and reviews_status = 1");
$reviews = tep_db_fetch_array($reviews_query);

		      if ($reviews['count'] > 0) {
		  $prod_list_contents .= '<div class="clearfix"></div>';				  
		  $prod_list_contents .= '<div class="col-sm-12 text-center">' . sprintf(LISTING_TEXT_AVERAGE, tep_output_string_protected($reviews['count']), tep_draw_stars(tep_output_string_protected(round($reviews['avgrating'])))) . '</div>';
			  }else{
			  }		  

@@burt are you working on the product_info module?

Link to comment
Share on other sites

Here is the basic code I came up with....

<?php
$reviews_query = tep_db_query("select count(*) as count, avg(reviews_rating) as avgrating from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd where r.products_id = '" . (int)$_GET['products_id'] . "' and r.reviews_id = rd.reviews_id and rd.languages_id = '" . (int)$languages_id . "' and reviews_status = 1");
$reviews = tep_db_fetch_array($reviews_query);

if ($reviews['count'] > 0) { ?>
  <div><?php echo sprintf(tep_draw_stars(tep_output_string_protected(round($reviews['avgrating'])))),' ', tep_output_string_protected($reviews['count']),' '. '<a href="' . tep_href_link('product_reviews.php', tep_get_all_get_params(), $request_type). '"><span>' . PRODUCT_TEXT_AVERAGE . '</span></a>';?></div>
       <?php echo '<span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"><meta itemprop="ratingValue" content="' . $reviews['avgrating'] . '" /><meta itemprop="ratingCount" content="' . $reviews['count'] . '" /></span>';?>
  <?php
  }else{
?>      
  <div><p><?php echo sprintf(tep_draw_stars(tep_output_string_protected(round($reviews['avgrating'])))),' ', tep_output_string_protected($reviews['count']),' '. '<a href="' . tep_href_link('product_reviews_write.php', tep_get_all_get_params(), $request_type). '"><span>' . PRODUCT_WRITE_REVIEW . '</span></a>';?></p></div>  
<?php
  }
?>
</div>
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...