Magento + Google Analytics : change product's position based on GA

This project received 35 bids from talented freelancers with an average bid price of $765 USD.

Get free quotes for a project like this
Project Budget
$250 - $750 USD
Total Bids
Project Description

Hello, I need someone with good experience in Magento to develop a service to change the sort order in which the products are listed in the category , based on access recorded by Google Analytics and sales of that product .


When managing a category in Magento , I can set for each product which position he will appear in that category ( 1st , 2nd ... 50th , etc. ) , but setting it manually is not the best way , the idea is to place the more interesting products first , and so the demand is to create a service to once a week connect to the base of Google Analytics (via API ) , and order the products according to the amount of access they had in the past X days ( configurable parameter ) .

That is, given the initial scenario:

Product A = 0 position

Product B = 0 position

Product C = 0 position

Situation A :

Product B = position 1 ( 150 views)

Product C = position 2 ( 100 views)

Product A = position 3 ( 50 views)


Sales should also influence this position , then we must consider that each sale (use Magento’s own database) counts as X visits (configurable parameter) to that product also. The sales period to be considered should be a different parameter than the one from Google Analytics, so I may be able to set for instance 90 days of visits and 180 days of sales.

Situation B ( 1 sale = 100 visits ) :

Product C = position 1 ( 100 views + 1 sale)

Product B = position 2 ( 150 views)

Product A = position 3 ( 50 views)


One last way to influence the position is via manual manipulation . You must create a new attribute for the products , where I may be able to insert positive or negative value , which will serve as an accounting more visits. The idea is to promote or demote products.

Situation C ( 1 sales = 100 visits ) :

Product A = position 1 ( 50 + 500 visits manually )

Product C = position 2 ( 100 views + 1 sale)

Product B = position 3 ( 150 views)


1 - Cancelled sales should not be counted

2 - Should NOT be created a new field for position , should use the existing field of Magento, the service should only change the value of this field.

3 - Every time service runs, must be generated a log file saying that everything ran ok or if there was an error, and which error. And in case of error send an email too.

4 - The service must be scheduled via cron job , but there should also be a manual way to execute it, can be either by an specific URL or a button in the Admin .

5 - The developer should implement it in the test server , and once validated , apply on the production server.

Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online