This is a Spree extension that allows tracking of sales referrals based on a role. It allows users with that role to send links to leads via email, then have their account reported as the referral on associated sales.
The customer can also manually choose or override the referral during the payment step of checkout.
The master branch of spree_dibs_referral is compatible with Ruby 1.9.x and Spree master. There are stable branches for Spree 1.1, 1.2 and 1.3. Use the appropriate branch for your version as shown below.
- Edit your Gemfile, adding the line:
gem 'spree_dibs_referral', github: 'AgilTec/spree_dibs_referral', :branch => 'master'
- Run the following commands:
bundle install
bundle exec rake spree_dibs_referral:install:migrations
bundle exec rake db:migrate
Start your Spree instance and you're done.
The referral link on the cart page cannot support carts which have items that differ only by their ad-hoc options (i.e. they have the same Spree variant id but different ad-hoc options) as well as having different quantities. The user who clicks on such a referral link will get a cart that has both items, with the proper options, but the quantities for both will be the quantity of the last such item.
For example, if you have two t-shirt items in your cart that only differ by quantity and the ad-hoc option of size, say two of the small and three of the large, then the user receiving the referral link will get a quantity of three on both the small and large t-shirts.
There is no workaround, you simply can't do this if you're using the spree_flexi_variants extension.
It is open-source, so input/pull requests will certainly be considered, but be aware that it is being developed specifically for the needs of DidItBetter Software's Spree implementation, which puts some constraints on what input is accepted. That said, please do contact me if you have a problem or suggestion.
By referrals, we typically mean inside or outside salespeople who take an active role in assisting customers with finding suitable product(s) and who are compensated for assisting closed sales. This system makes it easier to track the referrers association with the sale so that credit can be given where it is due.
As it stands, the system is actively being developed and will have some significant changes to the user experience in the near future.
There is a new role added by the extension, called "dibs_referral". "dibs" is short for DidItBetter Software.
Each referrer (salesperson) must have an account on the system and must be assigned the dibs_referrer role.
Once the role is assigned, the referrer will show up in the list of referrers. This list is shown to the user on the payment step of the checkout process.
If the user has been sent a referral link, then they will have the referrer's id set in their session cookie. Once they make it to checkout, the payment step will list the referrer automatically. The user will have the opportunity to change the referrer at that point, choosing from any user with the referral role. However, they will usually leave it alone.
If the user has not been sent a referral link, the referral field defaults to blank. They can select from the list of referrers or choose a blank selection, but they must touch the dropdown at least once. There is bit of javascript to make sure that they do, which pops up an alert warning.
In the orders list in the admin view, there is a new column that contains the referral, if one was specified with the order. Currently the list isn't sortable on that field like the others can be since I couldn't figure that part out.
On the order detail, the referral is listed in the order summary in the right-hand sidebar. If you edit the order, there is a dropdown to change the referral.
For the referrer, a new table has been added to the "My Account" page, which shows their referrals that have been completed as sales, so they can see their current status. Incomplete referrals are not tracked.
As a referrer, you will also see a Send Referral button on your cart.
When you click this button, you will again see an email from your local mail client. This time, the link will take the user to their own cart. However, the current contents of the cart will be emptied and replaced with the contents of the referral cart. Your id will be saved in their session so that any future purchase will list you as the referrer.
The referrer will automatically be cc'ed on any emails generated by the purchase process for the referred user.
- Create a cart template system
Allow referrers to store pre-defined carts, tailor them and send them.
- Reporting
More detailed reports for admins and referrers
- Track compensation rates and calculate totals
Add the ability to set a rate (percentage) that the referrer receives and put totals in reporting
More detailed specifications can be found at the DidItBetter Wiki.
Copyright (c) 2012 DidItBetter Software, released under the New BSD License