Oct 30, 2012

Impact of Holiday eCommerce Shopping – MAGENTO

Is Your Website Ready For Sales?

Magento eCommerce Website SalesI’m not talking about any sales, I’m talking about holiday sales. Shoppers that are price-sensitive, impatient and quick to click to your nearest competition to get their holiday shopping done.

The holiday season is upon us and committing to the final changes to your website now can make all the difference for your sales and conversion rates.

Having the right Magento Developers can determine the success or failure of your site.

At Customer Paradigm we are Magento Certified Developers. We work hard to meet your eCommerce goals, communicate clearly with prompt project management and deliver to exceed your expectations.

 

Importance of Holiday Sales

Sometimes, words just don’t do the job. Here are some great info-graphics and statistics on holiday eCommerce consumption behaviors.

 

Magento eCommerce Development for Holidays

Revenue in the Holiday Season

  • The Holiday Season accounts for 41% of total annual revenue
  • The average conversion rate increases by 108% in December
  • It is projected that US Retail web sales will increase by about 17% this year in comparison to last years online shopping trends

 

How to Make Them Purchase

Are you asking the right questions?

  • How can I change my website to increase my conversion rate?
  • What can we offer that will make shoppers purchase with me over Amazon where they already have an account?
  • What matters to the consumer?

If you can understand what drives consumer sales, you will have a more profitable holiday season and overall profitable year. Adapting these strategies can make all the difference, start updating your Magento website today to convert for sales tomorrow!

 

Is Your Website Accessible?

With the variety of tablets, smart phones, computers with different browsers, is your site accessible and functional?

eCommerce SalesAccording to Invesp.com:

  • Shoppers via Tablets have an average sale of $110
  • Shoppers via Computers have an average sale of $95
  • Shoppers via Smartphones have an average sale of $70

What are Shoppers Doing Online?

If your store is getting a lot of visitors but the conversion rate is low, my first thought as a marketer is to understand the consumer. Get in their mindset. What are they doing online? What are they looking for? What matters to THEM?

 

Consumer Magento Online Shopping HabitsAttributes of Online Shoppers:

  • Price Sensitive – 79% of users are viewing your website to compare prices
  • Deals – 73% are looking for what you offer in deals and promotions
  • Information – 67% are reading reviews about the product
  • Substitutes – 60% are comparing specs of one model to a close substitute
  • Customer Service – 37% are trying to get in contact with you

Know & Act

The first step is understanding your consumer and what they are doing on your website, the next step is acting to satisfy their concerns while keeping them on your site.

 

 Know: Price Sensitive >> Provide Perks that Diminish Price-Sensitivity

  • Free Shipping - Influences holiday purchases by 55%
  • Payment Plans – Having multiple methods of payment plans affects purchase intent by 8%. A potential customer will be hesitant to purchase from you if they have to create a new account or your check-out process is comprised of too many steps.

Know: Deals >> Give Them Discounts, Coupons, and Incentives!

  • Daily Deals – Having daily deals increases the urgency of the purchase, making users feel if they pass up the opportunity today the price may never come back. 1 in every 4 holiday consumers purchases a daily deal.
  • Coupons – Coupons offer discounts or rewards which are an incentive to the consumer to purchase with you over not receiving any discount. Many shoppers will associate a discount as more value even if the end price is higher than a competitor.

Know: Information >> Tell Them What The Product Is

  • Descriptions – Write captivating descriptions which describe the product fulfilling every specification they will need to know. This is very important for electronic devices, the more information you provide the less a shopper will research on other sites.
  • Reviews – Get in a habit of sending automatic e-mails a few months after the purchase of an item to accrue reviews on your website. Reviews are one of the most influential factors for the final decision on whether or not to purchase.

Know: Substitutes >> Internalize the Process

  • Compare Products – Add a compare products option to your eCommerce site. If a user is debating between two camera models, allow them to perform a side by side comparison on your site rather than getting distracted and looking for alternatives on competitors eCommerce sites.

Know: Customer Service >> Be Prompt, Be Thorough

  • Above and Beyond – Remember it is much easier to retain a customer than to attain one. With this in mind, be prompt to answer requests, be thorough so it is not addressed again, and go above and beyond to ensure that they are satisfied with your services.

 

You Know, You Understand, How Will You Act?

After understanding what the consumer is going through, what they are looking for, is your website ready for Holiday eCommerce Shopping? Are you set-up to provide what consumers are looking for and keep them on your site, engaged, and purchasing?

If you are in need of Magento eCommerce development contact Customer Paradigm now at 303.473.4400 to talk to a real person about your business strategy. If your website is in need of internet marketing to create incentives and deals for your shoppers, talk to our SEO team and see how we can work to increase your conversion rates.

Sep 24, 2012

Social Media Value of Profitable Customers on Magento

Which Social Media RouteIf you keep hearing that your website needs social media plugins, then the next question is, “which ones?” With so many social media channels it is difficult to know if you need to be on all of them or just the big ones? And, most importantly what does this plugin tell me where Google Analytics fails to cover? We will go over all these questions and the solution I have found so far.

Value of Social Sharing on Magento

Being a social media enthusiast I believe that people aren’t solely on their personal profiles to watch their personal profiles grow, but they are truly there to see what is going on involving their interests and friends. Saying this, I believe the biggest mistake any business owner makes is disregarding the influence of social sharing simply because they do not understand the relation to their store and more importantly conversions. I hope that after reading this article you will re-consider your business approach to social sharing and profitability.

First, the most important reason for sharing, is that the recommendation of friends in your network tilt the tables drastically on whether or not you are more inclined to buy the product. According to Ragan.com 75% of people don’t believe that ads tell the truth about their products and around 70 percent of people are more likely to buy a product if a friend has referred it to them. Unless your product is so revolutionary or perfectly fits the need of an individual it is rare that a user will work to post your product. But, if you make it a simple push of a button, it is much more likely your product will be shared.

Make It Easy For Users to Share Your Content With Social Plug-Ins

The second reason, with every individual who is engaged with your product whether sharing, liking or even referring, your product is able to be viewed by their entire social network. Talk about a pyramid of influence!

Think of Shares As Conversions for Media Reach

 

How Google Analytics Tracks Social Media

Google Analytics offers you the full flexibility to view your engagement through social media channels.

Social Media Engagement Google

From this graph I am able to see how many visits I have received via a Social Media channel. I am also able to see a deeper breakdown of how many clicks are coming from what specific channels. This is a great way to discover which channels are driving the most traffic to your website.

You are also able to view the amount of conversions that come from social sharing, and the conversion value if your Google Conversion Tracking is set up correctly. This allows you to see the dollar amount in sales you have made directly from a user entering through a social media channel. This is very useful information if you are running a social media campaign and want to prove the profitability to a business.

If you are interested in learning more about setting up conversion tracking for your eCommerce store, pick up the phone and call Customer Paradigm today at 303.473.4400 to talk to a real person today.

 

How AddShoppers for Magento Tracks Social Media

 Add Shoppers is my favorite Social Media Tracking Extension for Magento.

Here is why, Add Shoppers takes basic information and gives you the pieces that really matter. It is great to have a large Facebook group and Twitter followers, but what if you were able to scale down

Social Media Incentives

the mass of your Facebook followers and find the top 10 most profitable customers?

Once you have found those top 10 customers, what if you could market directly to them knowing they are more likely to share and recommend? What if you knew they would be fifty-percent more likely to convert? Would that be worth targeting?

With AddShoppers Magento Extension this information becomes readily available to you. With ROI tracking that is profitable for your business model I have yet to find another extension which gives you the same level of detail.

Three levels to track Social Media ROI on:

  • Single product level or SKU
  • Influencer level of a single customers
  • Store wide level

Not only are you now able to see how people are getting to your site, but you are able to view the other side how your products are being shared. You can now view a specific product and see how it has been shared via the social media streams. You can feature your most Pinned products or shared products on your screen. With this Conversion tracking you are able to view which social networks drive sales per product.

My favorite addition which shows to me that AddShoppers really understands the influence of Social Media on Magento eCommerce is their pre-purchase rewards application. This application gives shoppers and incentive to join your social channels by offering small incentives such as 2% of your next purchase. You have the ability to set different rewards based on different channels, through this users gain an incentive to join all of your social channels.

This can be a hard concept for many business owners to get behind because it seems like you are throwing away money to get one more like on your Facebook page, or one more Twitter follower. In reality, you are essentially paying for a targeted customer base. People that have an intent to buy will like your page in order to receive 2% off.

 

I hope I have cleared some confusion about the importance of having social media channels on your Magento website. I am so happy that I have found AddShoppers, if you are interested in getting this extension for your Magento eCommerce site call Customer Paradigm today at 303.473.4400 to talk about how you can add more shoppers to your social media streams! Or fill out the contact form below!

 

Sep 20, 2012

CP's Alan Barber is now Magento Developer Certified!

Alan Barber Magento Developer Certified

Alan Barber Customer ParadigmLet it be known that Mr. Alan Barber has successfully passed the Magento Developer Certification Test!

Alan Barber is Customer Paradigm’s Production Manager and Senior Developer as well as ping-pong champion, and last but not least, Magento Certified Developer!

Congratulations! Congratulations! Congratulations!

If you don’t know what Magento is it is the most used and efficient eCommerce site available. It’s open source and at Customer Paradigm we say it so often you’d think it was a person in the office. Read more about Magento.

 

 

 

 

What does being a Magento Certified Developer Mean?

A person who has passed this certification has a thorough understanding of how Magento works. The test is a timed test with 70 questions. Given that Magento is such a complex system, they do not recommend that you work with developers who are not certified.

What Topics Are Covered In the Certification Test?

  • Request Flow
  • Rendering
  • Database in Magento
  • Entity Attribute Value Model
  • Adminhtml
  • Catalog
  • Checkout
  • Advanced Features
If you are interested in Magento Development for your eCommerce site, call us now at 303.473.4400 to talk to a real person today or fill out the contact form below.

 

Sep 7, 2012

Magento Bug with Versions 1.5 and Above – SOAP Shipments API

We’ve recently discovered a bug with magneto version > 1.5.0.0.

Magento’s native SOAP api exposes most of the core entity types (customers, orders, shipments, products, categories, etc).

However, it looks like the Api code wasn’t updated to ensure compatibility with other parts of the core code.

Specifically, we’ve learned that an update to the Mage_Sales_Model_Resource_Collection_Abstract breaks part of the SOAP Shipments API:

Magento Bug Report - API Definition

Magento Bug Report - API Definition

 The problem lies in the definition of the function joinAttribute inside the aforementioned class. You can see from the screen shot that there is an @todo implement join functionality if necessary—however for now, this method does absolutely nothing!

 You will also notice that the magento core team now deems this a “deprecated method.” However, they themselves reference this method in the shipments module. References to this function can be found in:

  • Mage_Sales_Block_Order_Recent
  • Mage_Sales_Model_Order_Shipments_Api

 

Magento Bug Report - Implementation

Magento Bug Report - Implementation

 

Obviously any place where this method is used will NOT return the desired result—-which can cause major problems for installations that have a 3rd party warehouse or inventory system that requires these api methods work correctly.

 

My suggested fix is to replace the joinAttribute calls with ->getSelect()->join calls (you can see info about Zend’s db layer at: http://zendgeek.blogspot.com/2009/07/zend-framework-sql-joins-examples.html)

* Please make sure you either write a module or do a local override in app/code/local if you need to do this!

 

Sep 4, 2012

Magento Retailers Represent With Google Trusted Store Badge

Google Trusted Badge Magento Stores

Get the Google Trusted Store Badge

Magento is now a proudly offering the Google Trusted Store Badge. With Google’s great reputation of advancing the internet, there is a trust associated with their brand. As they continue to increase users experience with every click across the internet, we now see a visible rating for quality.

There are not many forms in which Google rates websites. At least not visible to the common public. We do see the ratings on Google local pages, but that is a reflection of user ratings.

Features of the Google Trusted Store Badge?

 The Trusted Store Badge works as a “report card” of how well your eCommerce store performs. In order to earn the badge your site must exhibit fast, reliable and responsive customer service. Once your website has been approved, you will receive a grade. The badge will hover in a fixed position at the bottom right of your screen so it is visible during the entire shopping experience on your eStore. Upon hovering over the badge the grade will show. Below is a screenshot of the hover view from http://www.dickblick.com an art supply eCommerce store.

Google eCommerce Trusted Badge

http://www.dickblick.com

Benefits & Drawbacks of Google Trusted Store Badge

Potential Benefits

Google has many case studies which support the benefits of having the badge >> View Here

  • Increase in average order size
  • Increase in conversion rate
  • Ability to show an essential rating system on your page
  • Badge show up in Adword ads

Potential Drawbacks

  • Forums have revealed an abundant concern for privacy, the code requires that the shipping address of every customer is revealed to Google.

Get the Google Trusted Store Badge

There are many resources for installing the badge onto your eCommerce store. Many people are coming across bugs trying to replicate the codes. My best advice is follow the steps that Google has put in place.

If you use Magento >> Get the Badge Here

Through Google >> Get the Badge Here

 

eCommerce Platforms for Google Trusted Store Badge

Although you are able to receive the badge through any eCommerce store, this is where people are coming across bugs trying to replicate the code for their own eCommerce platforms. Currently Google has easily integrated this feature with the three following eCommerce sites:

If your current eCommerce store does not have the full functionality you are looking for, consider migrating your eCommerce site to Magento. Magento is a eCommerce platform that was designed with eCommerce in mind and is tailored to maximize sales and usability.

 

Aug 6, 2012

Faster Page Loading with Magento

Increase to Faster Page Loading with Magento Varnish

Of course you want faster page loading…
Why? Because,

  • Faster Page Loading >> Increase in Conversions
  • Faster Page Loading >> Decreased rate of Abandonment from your website
  • Faster Page Loading >> Decreases time for viewers to get distracted while on your website
  • Faster Page Loading >> Increases your Google SEO value

 

Good Solution: Faster Page Loading with Full Page Caching for Magento

With Magento Enterprise, one of the perks of paying $14,400 a year is you receive full page caching which will result in site load times of around 3-5 seconds. A full page caching system occurs when you have visited a website before, and the server basically takes a screenshot of the webpage and reproduces it upon request. This decreases the load time and produces the page back to the user within 3-5 seconds. The only issues with full page caching is that it requires MySQL and PHP to load for every page each time it is requested.

 

Best Solution: Faster Page Loading with Varnish for Magento

Full Page Caching is a great way to speed up your site, but what if you are trying to achieve the optimal site load speed? According to Google research every 0.1 second improvement in site load speed there is a 1% increase in sales. If you are wanting to achieve a 1 second decrease in page load, down to page loads at 2 seconds or even 1 second, Varnish for Magento is your best solution.  

Varnish graph for Magento

At Customer Paradigm we highly recommend for the best optimization that you install Varnish in addition to Full Page Caching to increase your site page load time. They compliment each other to achieve the fastest page load times. To explain the diagram above, the solid lines represent the path of requests your computer goes through when your page is already cached. The additional dotted line represents an extra request that occurs if you do not have caching. As for varnish, the html of static entities such as images or texts are loaded from cache, then Ajax sends a request for the dynamic parts such as “Recent Articles” for that category page or dynamic sidebar filters. Finally, JSON responds with how the dynamic information is to be structured as a JSON array.

Basically, when you install Varnish and a server has produced the request to anyone, the server is able to step in before php kicks in and reproduce the requested page. This decreases a large step in the database, substantially decreasing the page load time.

When a website does not have Varnish or Full Page Caching the server goes through a long process. Each time the server received a request for a page such as /about.html there is a communication with the database to reproduce the html for that page, instead of reserving the page with Varnish directly from a past request.

Comparing Page Loads for Site Speed

Magento Varnish: Benefits & Drawbacks

Increase page load speed with Magento Varnish

Drawbacks: Let’s start with the bad news first

The only drawbacks are when you make updates to your site you have to clear the cache when adding new content or changing things on a page, such as making changes to a post on your WordPress blog. For example, when you create a post and then you realize you have misspelled something, and you go in and edit your WordPress, the change will not show until you have cleared the cache for your site. This occurs with varnish because you have been served the blog page already, and the server will re-serve the same page upon request.

Benefits: The Bottom Line

In this case, the benefits far outweigh the drawbacks. Installing varnish on an eCommerce site is a no-brainer decision.

  • Increase in Conversion - A faster page load time increases the potential for conversions, which directly contributes to your bottom line of profits. If for every .1 second decrease in load time, there is a 2% increase in conversions, where is the loss?
Page Load and Conversions
  • Varnish is a one time set-up - Many applications or extensions require updates with the development of the eCommerce software, not with Varnish. It is a one time installation, that will last for the life of your website.
  • Google Increase in SEO Value - Google has determined that site load time affects your ranking, Google’s end goal is to provide the best user experience to the end user. If your site is the best for shoes, but it takes 8 seconds to load your page this will directly affect your ranking for keywords associated with shoes. Decrease page load time >> Increase SEO value.
  • Better User Experience – We’ve all done it, you click on a website and watch the loading icon spin and spin, eventually we all click back to the Google search and find a page that loads before we have time to move our cursor. Decrease page load time >> Decrease bounce rate from your page.

If you are interested in installing Full Page Caching or Varnish on your website for optimal speed, conversion rates, SEO value and site traffic contact Customer Paradigm now at 303.473.4400 to talk to a real person today or fill out the contact form below.

 

Aug 3, 2012

Gary Fong e-Store Up and Running

 

Poor Magento Customer Service

Gary Fong like many Magento customers received the dreaded screen when your Magento site is down. You type in your url, and ERROR is across the screen. Scrambling to find customer service from Magento to get your site back up and running is always a daunting task. You think after paying for an Enterprise Magento site which comes at no small cost of $14,000 a year, there would be efficient customer service, wrong. Understandably with frustration, Gary Fong began to search for any service to get his site up and running after all it’s like locking your business door and staring through the glass at customers trying to view your products.

The frustration is strewn out across his twitter feed: @garyfong_REAL

 

Call Customer Paradigm for Magento Customer Service

 

Solution: Fill out a Contact Form with Customer Paradigm

for Immediate Magento Support

Not only at Customer Paradigm do we have easy contact forms when you are in need, we also have a phone number directly on the page. I am surprised with the urgency that he needed to get his site back up and running, he didn’t pick up the phone and call us right away at 303.473.4400. We are very responsive to our contact forms, and within minutes of receiving his urgent need his site was back up, his doors for business open and ready for customers.

Customer Paradigm fixes Gary Fong's Magento Site

 

Jul 31, 2012

The Right Questions to Ask When Considering an eCommerce Solution

Questions before choosing an eCommerce Solution

In the world of eCommerce solutions there are many questions to consider for each platform, but the bigger question is, “What are the RIGHT questions I should be asking?” Asking the right questions is a more profitable route rather than narrowing your mind to only one platform and morphing your needs to fit their limitations.

It used to be an expensive task to develop an eCommerce site, there were so many questions, complications and limitations. But times have changed, and now we are walking down the grocery aisle of choices, where brand after brand is shouting out to catch your eyes. When all you want to know is, “which eCommerce solution fits my needs?”

There is no one correct eCommerce platform, each one exists to fill different needs. Some businesses are fine with a low volume, low security eCommerce platform, while others are needing a solution which can handle thousands of products with an infinite number of possible attributes. For example, if you are a business which primarily deals with blogging information, and you sell a few branded T-shirts or tickets then a simple eCommerce WordPress plugin may do the trick. Read more about WordPress eCommerce Plugins vs. Magento.

 

The RIGHT questions to be asking:

Asking the Right questions for eCommerce Solutions

1. Can your products/services be translated into sales over the internet?

If you are a B2C business and are selling electronics, your business is set up to easily translate your products into an eCommerce platform. Each product listing can display the attributes of memory space, processor speeds, graphics rendering, weight, monitor size and resolution. Of course, I am a fan of sleek filters to help the consumer find exactly what they want in the time they have. A filter will narrow down the various attributes (brands, prices, product attributes.. etc.) and display the products that exist within the selected filter.

If your organization is a B2B model and you are selling services such as corporate legal services or consultations this service is not easily translated for an eCommerce solution. The reason that legal services is not a tangible good to sell across the internet is because each product would vary greatly based on the case type. If you were to make legal services compatible for a product listing on an eCommerce site you would have to set a fixed price for each “type” of case. For example a corporate contract law case would be $15,000. This is obviously not a smart choice for legal services.

Do not take this to be the case for every B2B or B2C model. Whether or not your business is suitable for an eCommerce solution is based on the fact that your product/service can be translated into sales over the internet. Some B2C models are filled with products that do not translate easily into sales. Also, some B2B models are products that can easily be translated into sales over the internet such as wholesale outlets who provide products to other businesses.

Pause. If your business products do translate easily into sales over the internet than continue to read. If your business model does NOT translate into sales, then I would encourage you to invest in SEO for your website to increase site traffic, and organic Google rankings for your industry. Read more here for a deeper understanding on >> what SEO is.

 

2. How much product control do you want?

Product Control for your eCommerce Solution

Your initial reaction is, I want as much control as possible, but with the simplicity to get it all done. If I’ve learned one thing, I may be great at things, but I’m not great at everything, and when it comes to making money let’s get it right. My methodology is what features will make my eCommerce solution the best for the end user (my customers)? If there are features and options I wish to offer such as a mothers day discount, or a cyber Monday sale and make a site-wide discount but I just can’t get it done, hiring a knowledgeable and experienced eCommerce programmer can make all the difference.

If you wish to control the price structure for each of your products, then an eCommerce solution is ideal for you. Price structure control would be offering a 10% discount if you spend over $50 which you can create rules for or purchasing 4 products and receiving a 5th for free. It all sounds easy, because these are common sales tactics, but making them happen on your eCommerce platform is more difficult than a simple check box. One eCommerce platform that I highly recommend is the Magento platform. I particularly like this platform, yes because it is one of the most favorable eCommerce solutions, but favorites are favorites for a reason. They are extremely secure which matters the most when processing orders, there’s nothing worse than a customer coming to you saying their credit card information got leaked after a purchase on your website. They also offer endless functionality and customization for product attributes and categories.

 

3. Do it Myself or Hire an eCommerce Development Service?

Customer Paradigm eCommerce Solutions

This can be a tricky question. If you have the knowledge and are tech savvy then developing your own eCommerce site with the occasional consultation from a professional eCommerce company could be the perfect route for you.

If you want to hire an eCommerce Development Service to make sure that your site is set up properly with a clean navigation, optimized product tags, seamless checkout process and customer support then hiring a service may be the perfect route for you. It all comes down to the functionality of your site, and your ability to make that functionality happen.

At Customer Paradigm we make sure that your platform is upgraded correctly, and perform testing to maintain the full functionality of your site. We provide you with a direct line to always contact your project manager. Most importantly, we take the time to understand your business and what you wish to offer to your customers.

If you are in need of an eCommerce Solution please call us now at 303.473.4400 to talk to a real person or fill out the contact form at the bottom of the screen.

 

Jul 6, 2012

Critical Magento Security Update – Zend Vulnerability

There is an important security update for any company using Magento; this was posted yesterday (July 5, 2012) to Magento`s blog.

Magento uses the Zend Platform; the vulnerability is in the Zend software.

The Issue: The vulnerability potentially allows an attacker to read any file on the web server where the Zend XMLRPC functionality is enabled. This might include password files, configuration files, and possibly even databases if they are stored on the same machine as the Magento web server.

Summary: We`re not trying to scare you, but it`s really not very good if you don`t apply this patch. An atacker could access all of your customer`s information, your admin functionality, and gain complete access to your site. They could delete all of your products, customers, change pricing. It wouldn`t be pretty.

What Should You Do:
a. Patch it
b. Put in a workaround until it`s patched.

If you`d like us to take care of this for you, we can fix this for you in one hour of billable time (we just need FTP access).  Call 303.473.4400 or visit here to have someone contact you now >>



Technical Details About the Magento Local File Inclusion (LFI) security vulnerability:

The attack is called local file inclusion (LFI) and essentially it allows a hacker to read any file on the server. At a high level, here’s what happens:

 

  1. Someone connects to your Magento installation’s Web API. Great, you think to yourself “I’m checking login/passwords, so I won’t give them anything they don’t have access to. And even if they do have access, I’ll only allow them certain actions (getting orders, creating products, etc)
  2. Your api reads the request using zend framework
  3. Zend framework uses a PHP xml library
  4. You send a response back saying “Sorry, you don’t have access to my api” or “Ok, you just updated your product description”
  5. But little do you know, you also sent back the entire password file! Now your hacker owns the server!!

 

Here’s an example XML request the hacker might send:

<?xml version=”1.0″?>

<!DOCTYPE api_username [<!ENTITY my_api_username SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">]>

… XML REQUEST …

<api_username>&my_api_username</api_username>

….The rest of the request

 

So, assuming they don’t have access (or they do, this really is just an example) your application might send something back like:

<?xml version=”1.0″?>

<message>Sorry, {insert_api_username_here} you don’t have access</message>

 

But where you just inserted the api username, you actually inserted the contents of the entire password file!

 

Luckily PHP provides us with an easy function to prevent this: http://php.net/manual/en/function.libxml-disable-entity-loader.php

The magento patch works by using this function in the appropriate places.

 

Need help applying this Magento Security Fix?  Call 303.473.4400 or visit here to have someone contact you now >>

May 23, 2012

FedEx Shipping Fix for Magento Versions 1.5 and lower

Customer Paradigm
888.772.0777
303.499.9318


If you`re running the Magento eCommerce system (version 1.5 and lower) and rely on FedEx for shipping quotes, you may need to update your system so that it works after May 31, 2012.

FedEx Shipping Fix for Magento Versions 1.5 and lower

What`s going on: FedEx is switching over to a newer Web Service API, and is discontinuing their older system at the end of May, 2012.

If you`re running Magento Community 1.6 or 1.7.0, you`re fine — this uses the latest system.

If you`re running Magento version 1.5, 1.4 or lower, you need to do a quick extension update, and you`ll be able to continue to use FedEx for shipping quotes.

If you`re not running Magento (but do rely on real-time shipping quotes from FedEx), please check and make sure that your system is going to work after May, 2012.

How can I tell what version of Magento I`m running?
Log in to your Magento admin area. At the bottom of the page (you may need to scroll down), it will read in the center: Magento ver. 1.6.0.0 (or something similar).

How much does it cost to update? The software extension is free; if you would like us to assist you, we can install, test and configure this for you on an hourly basis.

Please call or email if we can help.

Thanks,

Jeff FinkelsteinFounder, Customer Paradigm
Jeff Finkelstein
Founder, Customer Paradigm


303.499.9318

Connect Via Facebook >>
Connect Via Linked In >>
Connect Via Twitter >>

We love referrals! Our Referral Promise >>


 

Customer Paradigm
5353 Manhattan Circle, Suite 103
Boulder, Colorado 80303
Visit our Website
direct 303.499.9318
fax 303.374.6104
toll free 888.772.0777
Web & Print Design • Programming • Email Newsletters • Search Engine Marketing • eCommerce
May 21, 2012

New FedEx Shopping Extension for Magento

Magento FedEx Extension FixOn May 31st, 2012 FedEx will be switching to a Web Service to supply shipping rates in Magento. This means users of Magento CE1.5x or less or EE1.10.x or less will no longer be able to retrieve FedEx shipping rates in Magento.

Fortunately, users can install the Magento FedEx fix extension to allow users of older versions of Magento to continue to retrieve FedEx shipping rates without upgrading to Magento 1.7.

Here are a few items that our developers have learned from our installations of the new FedEx shipping fix:

  1. You have to have the WebShopApps “Logger” extension installed for the FedEx extension to work (but after you’ve set up the FedEx extension you need to disable it per this article – http://wiki.webshopapps.com/webshopapps-logger)
  2. If you are using the “Home Delivery” option you need to set “Residential Delivery” to Yes or it will show as an error. You will need the following credentials to set up the account:
    ID: (Account number)
    – Production Password: (Provided in email once you sign up)
    – Production Meter Number: (provided in sign up success screen)
    – Key: (provided in sign up success screen)

Customer Paradigm is a full-service ecommerce solution featuring Magento website development. From 1 hour to 1000, we can help! For more information about setting up the FedEx shipping fix extension for your Magento store or upgrading to Magento 1.7, please call Customer Paradigm toll free at 888.772.0777 or contact us to speak to a real person now.

Apr 26, 2012

Running Varnish Caching on Magento – but pages not updating

If you care about optimizing an eCommerce site, you know that page load times are critical.  For every second you shave off the time of a page load, conversions increase dramatically.

For every 1 second delay your page takes to load, you’ll see approximately 7% less conversions, and 11% fewer subsequent page views.

Our clients don’t usually call us to see if we can help speed up their page views.  Rather, we look at their sites, using advanced tools (some free, like Google Analytics), and see how long pages take to load, and what the conversion rates are.

If we speed up a page, it means (a) more business for the eCommerce Magento site, (b) a better experience for the end user (we save them time), and (c) the page tends to be ranked higher via Google and other search engines.

If you set up your Magento eCommerce site correctly with caching turned on well, it will scream.  Fast page load times – sub-one-second.  We’ve taken sites from 8-10 second page load times, and had them load in 1 or 1.5 seconds.

How?  We use many techniques, but one is Varnish.

What is Varnish?

Varnish is a HTTP Accelerator (reverse proxy for technical folk). 

A HTTP Accelerator sits between your web server and other people’s web browsers, and creates copies of content normally served from the web server. This content can include anything from images, JavaScript files, swf files, HTML files, to dynamically generated content.

How does Varnish benefit someone running Magento?

Magento varies in the amount of resources it consumes, suffice it to say Magento is more resource hungry than most PHP apps.

For this reason Magento has many types of caching built into it (you can see these in your admin panel).

These caches can help quite a bit, but there is still more you can do.

The overhead of loading the actual Magento core to start utilizing these caches is one more component that we can eliminate with Varnish.

For the following cases:
•    First time users to your site
•    Users that are not logged in
•    Users that do have items in their carts

There may be no reason to have Magento load more than once.

Why is that? In the cases listed above Magento may not render any differently for different users.

Because of this we only need to let Magento once per page, from there Varnish will keep a static copy of the content so that PHP, Mysql, and Magento do not need to run in the future.

This saves system resources, and just as important it significantly lowers your First Byte Time.

Your users will be waiting less for the page to load, and Google will love you!

So you may be asking what about when I do not meet the criteria listed above.

In those cases you will need to let Magento run as it normally would, this is because we want each user to have a unique experience based on their interactions with the site (i.e. if a user adds a product to the cart, it needs to be shown to them in the header as it normally would).

In these cases however,  users still benefit from Varnish since the system is not working as hard as it normally would, and can serve those users faster.

The problem with Varnish: When You Add New Products, Edit Products, Edit Categories or CMS Pages:

Why is the Customer Paradigm Magento Varnish Extension needed to run Varnish on my Magento site?

The Customer Paradigm Magento Varnish Extension takes a lot of the headache out of running Varnish, it automates many of the tasks needed to keep the Varnish Cache in sync with the actual Magento install.

For instance, if you did not have the Customer Paradigm Magento Varnish Extension , and updated a product from the Magento Admin Panel, your updates would not be reflected on the frontend until your restarted Varnish, thus reducing the effectiveness of Varnish.

With the Customer Paradigm Magento Varnish Extension , all changes to Categories, Product, and CMS pages are kept in sync.

It does this without ever needing to clear the entire Varnish cache, thus keeping most of your Magento site fast.

Customer Paradigm’s Magento Varnish Extension also provides methods to flush the entire cache, or to disable the cache for certain parts of your site. This is very useful for people that may not manage their server infrastructure directly.

What the Customer Paradigm Magento Varnish Extension Does:

•    Lowers the amount of time needed to setup a Varnish Cache.
•    Syncs Varnish with Magento’s Catalog Search, Catagories, Products, and CMS pages.
•    Adds debugging features to the Magento Admin panel.

Requirements:
•    Magento 1.5 +
•    Varnish 3.0.0

 

Results:

Non-Varnish results (3 users):

SIEGE 2.70

** Preparing 3 concurrent users for battle.

The server is now under siege…

 

Lifting the server siege…-done.

Transactions:                    23 hits

Availability:                100.00 %

Elapsed time:                 14.57 secs

Data transferred:              0.13 MB

Response time:                 1.38 secs

Transaction rate:              1.58 trans/sec

Throughput:                    0.01 MB/sec

Concurrency:                   2.19

Successful transactions:          23

Failed transactions:              0

Longest transaction:           1.87

Shortest transaction:          0.89

 

 

 

Varnish results (1st run ie. Not in cache)

SIEGE 2.70
** Preparing 3 concurrent users for battle.
The server is now under siege...

Lifting the server siege...-done.
Transactions:                    33 hits
Availability:                100.00 %
Elapsed time:                 14.76 secs
Data transferred:              0.19 MB
Response time:                 0.71 secs
Transaction rate:              2.24 trans/sec
Throughput:                    0.01 MB/sec
Concurrency:                   1.59
Successful transactions:          33
Failed transactions:              0
Longest transaction:           1.52
Shortest transaction:          0.01

Varnish results (2nd run cache is loaded):

SIEGE 2.70
** Preparing 3 concurrent users for battle.
The server is now under siege...

Lifting the server siege...-done.
Transactions:                    48 hits
Availability:                100.00 %
Elapsed time:                 14.04 secs
Data transferred:              0.27 MB
Response time:                 0.36 secs
Transaction rate:              3.42 trans/sec
Throughput:                    0.02 MB/sec
Concurrency:                   1.25
Successful transactions:          48
Failed transactions:              0
Longest transaction:           1.96
Shortest transaction:          0.00

Want the Extension?

This extension is currently being submitted to Magento Connect, but if you’d like to get a copy before it’s available there, please call us at 303.473.4400 or click here to have someone contact you now >>

Jan 5, 2012

PHP Programmer Position

Customer Paradigm, a Boulder-based Website Development and Interactive Marketing Company, is looking for a solid PHP programmer to work at our Boulder-based office. You should have: * PHP / mySQL programming skills (write code that works) * Enjoy working with other talented programmers * Magento, Zend, eCommerce experience is a bonus. This is an initial contract position, with the possibility of direct hire in 2-3 months. Please send: * Your Resume * Sites you’ve worked on More info on Customer Paradigm: http://www.CustomerParadigm.com/ Important Notes: 1. Must be okay with getting hit by an occasional nerf gun dart from time to time in our office. 2. Must be okay with Wookie being occasionally spoken in the office. 3. Must be okay with remote-control helicopters flying overhead (1-2x per week). 4. We generally work M-F, 9-5 at our office in South Boulder, Colorado. Due to the nature of our projects, we rely on collaboration between programmers, project managers and clients. Unfortunately this is Not a work-from-home or work-remotely position. Interested? Call us at 303.473.4400 x 8282 or contact us here

Jan 4, 2012

Building SEO-optimized E-Commerce Websites

In 2012, search engine optimization for ecommerce websites should start before the websites are even built. Updates to the search rankings algorithm associated with Google Panda and the rise of the social graph have made landing page hierarchy, usability, conversion rate, social engagement, and unique content more important than ever. Here are a few ways that you can get a head start on SEO for your ecommerce site.

 

Organize the site into categories that make sense for users and search engines.

 

Well-optimized product category pages are the most important SEO tool at the disposal of ecommerce websites. In 2012, Google and other search engines have placed a premium on unique, query-relevant content as a rankings factor. For sites that sell a variety of different products and services, creating targeted landing pages (pages created for the purpose of attracting a specific type of visitor) oriented around a keyword or group of keywords is critical to expanding search volume.

 

An ecommerce website selling snowboards, snowboarding gear, and accessories, for instance, may want to start organizing the site for SEO by dividing their products into broad categories that make sense from a user perspective. Dividing snowboards, snowboarding apparel, and snowboarding equipment are easy decisions from a user perspective, and allow for the creation of custom landing pages that attempt to engage the broadest search terms. Pages optimized for broad search terms, however, can’t hope to engage all of the more specific branded, product-type, or longer-tail search terms that your potential customers may be using to try and find the products that you sell. If you don’t optimize for more specific searches by creating more custom landing pages, you risk letting their business go to a competitor.

 

To gain insight into how I might organize my broader snowboard category, I consulted the Google Adwords keyword research tool. Here is my initial search:

SEO for ECommerce Sites

 

This search tells me how to organize my snowboard category. I can see that the highest volume searches are for snowboards by brand. K2, Burton, Salomon and others get by far the most searches. I know that I want to create custom landing pages for each of the major brands of snowboards that I sell, to draw in users searching for a specific brand. The second most searched metric seems to be “sale snowboards,” “discount snowboards,” or even “$150 snowboards.” This tells me that I want to create a category page with unique content and products that are on sale, to engage these search terms. Third, it tells me that the potential customers of my theoretical snowboard store are searching based on gender and age. “Kids snowboards” and “women’s snowboards” are popular search categories. So, I will want to create custom landing pages for kids, mens, and womens snowboards, to engage this search volume.

 

I’ll repeat this process for my Apparel and Accessories categories. So, after about an hour considering my business and some help from Google Adwords, I have a basic structure for organizing my ecommerce site. Here’s what I have:

 

Internet Marketing for ecommerce websites

 

Obviously, there is more research to be done and more variables to be considered than overall search volume, including competition, conversion rates, and profitability of different products, but you get the idea: Organize your site into categories and sub-category pages that makes sense from a common sense, usability perspective as well an SEO perspective.

 

*A note of caution: There are made-for-seo sites and made-for-seo sites. Creating a large number of landing pages to engage too many variations of similar keywords can hurt your site from a SEO perspective because you run the risk of duplicate content penalties, and hurt your usability (which also affects your search rankings) because it can create a bewilderingly large number of pages selling similar or identical products. Finding the right balance between SEO and usability is important, but error on the side of usability.

Here is a real-world example from our experience at Customer Paradigm:

 

Customer Paradigm does internet marketing and SEO for Discount Decorating, a large online retailer of wallpaper and wallpaper borders. In order to increase their organic search traffic, we built out their category and subcategory pages by creating static urls for pages that had previously been internal search result pages, and added unique content and meta data to most of the new category pages we had created. The new category pages allowed Discount Decorating to rank well for a wide variety of more specific and long-tail keywords. The impact was immediate and dramatic. Within two weeks, Discount Decorating’s organic search traffic had doubled, and sales jumped at a corresponding rate. Here is their traffic graph:

 

Search Engine Optimization for Ecommerce websites

Add SEO value to your landing and product pages with unique content

 

In 2012, the key to ranking well for Google and other search engines is uniqueness. This means each of your category and product pages should have unique text, images, schema.org or RDFA tagging, header tags, title tags, alt text, etc. Pages with duplicate content, meta descriptions, or title tags can negate the SEO value of your pages, and category page text or product descriptions copied from a manufacturers website can be very harmful. Search engines aren’t impressed with content that they can find elsewhere, and they may penalize you for it. You have to add something new and unique to climb up the rankings.

One great way to add uniqueness to your website as a whole is through a regularly updated blog. Include special offers, news, how-to guides, and other information relevant to your business and industry. Regularly updated content tells Google and other search engines that your site is an organic, growing site that is regularly adding unique content for its users. The search engines will reward you accordingly.

 

Usability is becoming increasingly important to ranking well and selling products

 

Not only is the usability of your site critical to your conversion rate (the % of people who visit your site who make a purchase), Google and other search engines are using increasing sophisticated ways to determine whether or not ecommerce sites are usable and using this analysis in their rankings calculations. Things like bounce rate, time spent on the site, number of pages viewed, and engagement metrics such as whether or not a person filled out a contact form, signed up for a newsletter, or made a purchase account for a significant portion of the search engine rankings algorithm in 2012.

The undisputed most important element to usability for ecommerce websites, particularly larger ecommerce websites, is the search feature. Almost every ecommerce site that sells more than a few products has a search tool that allows visitors to quickly find a product based on a series of custom filters. How quickly and with what precision a user can find the product they’re looking for often determines whether or not a visitor becomes a customer, and can go along way in determining the success of failure of an ecommerce site. Careful thought and attention must be paid to your search/filtering features.

*A note of caution: Many site owners and developers rely too much on search tools and other custom filters and ignore or under-develop their category pages. While search tools are great from user perspective, they don’t gain the SEO value that comes with category pages that have unique content and static urls that can be submitted in a sitemap. It’s important to keep both your users, and Google in mind when building an ecommerce site.

 

Prepare to engage with Social Media

Social media is a great way to interact with your existing customers and keep them coming back with updates, special offers, and other promotions. In 2012, social media signals can account for as much as 14-18% of the Google rankings algorithm: things like Google “+1s,” Facebook “likes,” and Twitter “mentions.” Adding social media buttons to your home page, category pages, and all product pages before the site is launced will give you a running start into social media.

 

SEO for ecommerce websites can be very competitive, but forethought, smart organizing, and awareness of SEO principles during the development of the site can allow your site to move up the search rankings faster, allowing you to make more money from you site sooner.

Customer Paradigm is a complete internet marketing agency for ecommerce websites, including search engine optimization, search advertising, and custom ecommerce website development. For more information, visit customerparadigm.com or call 303-473-4400 or contact us to speak to a real person now.

Dec 12, 2011

Magento Case Study: Integrating a 3rd Party API, Adding Affiliate Tracking, and Importing Products

By Senior Magento Developer Alan Barber

This week my team celebrated the completion of our most recent project: TeachMeToday.com. This is a heavily customized version of Magento which allows users the opportunity to pay for a membership which gives them access to over 400 eLearning courses.

    We developed the following custom functionality

 

  • Category and Product Import : TeachMeToday’s catalog was imported entirely from a 3rd party provider. We developed an extension to import a category hiearchy and assign products to these categories based on the external catalog. We also created a script to perform daily synching between the two catalog versions
  • Private Sales Functionality : We modified Magento so that a user must pay for a membership before they can view any of the eLearning courses
  • Recurring Memberships (Subscriptions) : We developed a custom extension which allows TeachMeToday to charge their active members on a monthly basis using Authorize.net’s CIM
  • Affiliate Landing Pages with Custom Checkout : My team integrated an external checkout path with TeachMeToday’s Magento installation. Essentially, affiliate traffic signs up on a highly optimized version of the Magento checkout (which is normally very clunky)
  • Affiliate Tracking / Reporting : We added some functionality to the Magento success page and admin area that tracks conversions and rejections

Each of these areas could have a full article written about them, but I will try and provide a few paragraphs about how we accomplished each

 

3rd Party Category and Product Import

This was probably the largest piece of the project. TeachMeToday had ~400 products and ~80 categories in an external catalog. Each of the products was essential an online “course” which launched a java application on the user’s computer. While we couldn’t import the java apps themselves, we could import the category hierarchy and metadata for individual courses. The process we developed for this is as follows:

 

  1. Create your module : We created a custom module in app/code/local.
  2. Add a sql update script to track custom data : Inside our module’s SQL directory we added an install script to add a custom attribute to both products and categories, which would serve to hold a serialized object representing metadata from our 3rd party catalog
  3. Add a helper to connect with the API : our 3rd party catalog provided a soap API to retrieve data. We created an API helper in our module which extended the php SoapClass. We used PHP’s magic functionsto allow the rest of our module to access API methods in the form of
    Mage::helper("apihelper")->{api_method_name}
    — cool huh? The the other objects in the module, the API calls were just regular method calls…our soap class had built in functions to handle soap faults as errors and to parse the soap response.
  4. Get a parsable version of the external catalog : In our case, this was a giant XML tree of the entire catalog: Magento XML Tree
  5. Recursively walk through the tree and update the catalog: This is a big step. A few things were invloved:
    1. I wrote models to represent the different types of nodes in the xml tree : In the external catalog, categories were tagged as “groups” and products tagged as “assets”. I wrote some models which extracted relevent data from each of these node types
    2. I wrote a model to represent the tree as a whole : We needed a model to poll the 3rd party service, retrieve the tree as xml, parse it into php SimpleXML and then recursively walk down each branch of the tree. Depending on the current node’s type, a different operations was performed
    3. I wrote helper models to map the xml nodes into Magento models : Helper were created which took in a <group> and mapped it into a category (in the appropriate place in the category tree) and took an <asset> tag and mapped it into a product (and assigned it to the correct category). The helpers were also smart enough to make a distinction between: creating a new model and updating an existing model
    4. Handle errors : Seems simple, but you ABSOLUTELY NEED functions built in to methodically log and report errors. We could not have done this process without such logic. Magentohas a wonderful function:
      Mage::log({message}, null, {filename})
      which allows you to put a custom log at var/log/{filename}
  6. Setup a cron job to recursively walk through the tree every night : In case the 3rd party catalog changed, we wanted our catalog to represent those changes. So we setup a cron in our config.xml to update the tree every night. Magento Crontab

Private Sales Functionality

TeachMeToday is based on a membership which gives users access to all products in the system. Be default, the community edition of Magento doesn’t enable this functionality. However it is surprisingly simple to implement this:

 

  1. Rewrite the customer account controller in your module’s config.xml
  2. Override the creatAction() in AccountController.php : In our case, we overwrote the create action to redirect the user to one of our landing pages so they could sign up. In this way, a user cannot navigate to /customer/account/create and get a new account…no matter how many times they try, they will alows get redirected to our custom landing pages Magento Controller Overload
  3. Remove the “launch course” option for user’s that aren’t active in the system: All of TeachMeToday’s products are virtual courses, and as part of the private sales piece, we needed to make sure a user that didn’t have a membership (or had an expired membership) could not launch the courses. We created a helper that checks a special customer attribute which is a Boolean flag specifying whether or not the user was active. So we use
    Mage::getSingleton("customer/session")->getCustomer()
    to grab the current customer instance and check their is_active flag.
  4. Update the customer flag when a user signs up for a membership: We created a custom event for this. On our landing pages (which have custom checkout functionality) we call
    Mage::dispatchEvent("our_custom_event", array("customer" => $customer))
    which passes the newly-signed-up customer to our custom module (which then updates the appropriate customer attributes). We created a similar event for when the customer is deleted or fails billing.

Recurring Memberships (Subscriptions)

We needed a way to continually charge customers (since the product they were purchasing was a monthly membership/subscription). However, it requires a lot of legwork and special infrastructure to store credit cards with and be PCI Compliant — and the community edition of Magento is not PCI compliant. Therefore, we decided to use Authorize.net’s CIM. CIM allows you as merchant to store credit card information on authorize.net’s servers, and then provides you a handle for each customer with which you can rebill them without storing their info — cool huh?
Our process was as follows:

 

  1. Create the CIM customer and payment profiles when the user signs up, and store the CIM token (handle) : We used the IDP Magento Extension to handle the requests to authorize.net (no point in reinventing the wheel, and this module does a great job creating a Magento Paygate-mapping to authorize.net).
  2. Create a cron task to bill customers: My team created a script (which runs nightly) that does a few things:
    1. Check which customers are due for a rebill : Using varien data collections we find a list of all customers which are due for a re-bill
    2. Attempt to rebill appropriate customers through their CIM token : try and bill the customer through their CIM handle (which bills them based on the credit card info they have stored in authorize.net)
    3. If payment failed, change their “is_active” flag, if not, create a new order

Magento Affiliate Landing Pages with Custom Checkout

>We needed a number of different landing pages for TeachMeToday to AB test affiliate traffic to. These landing pages needed to be highly optimized for conversions. The process for creating landing pages that could create orders in Magento was as follows:

 

Magento Custom CheckoutCreate CMS Pages with each landing page URL

    : If you wanted your landing page to be: TeachMeToday.com/signup-now, you would make a cms page with URL identifier of “signup-now”
  1. Set the CMS page layout to empty
  2. Add custom stylesheets via layout xml in cms_page–>design : If you need custom styles, you can add them on a per landing page basis there
  3. Create a phtml block in the CMS page to place your landing page code in : We had vastly different looking landing pages…which were all their own layout. The way I did this was to place a block as the sole content in each CMS page as: {{block type=”page/html” name=”signup.now.page” as = “signupNowPage” template=”landing/signup_now/body.phtml”}} Now the page would load its content from my custom phtml file:
  4. Create your custom checkout controller that your landing page submits to : This step is a pain in the @!@ … essentially you need to replicate everything Magentodoes when it creates an order, which is as follows:
    1. Validate customer billing info
    2. Create a new customer with an auto-generated password
    3. Create a quote model and load it with customer and product data : You will need to assign the quote to a customer and add a product to the quote. I’m not going to go into detail on how to do it as its a complicated process. Googling for “create a Magento order programatically” returns some relevent results
    4. Use a service quote to attempt to transform the quote into an order (and therefore charge the customer’s credit card)
    5. If the service quote threw an error, notify the user their payment info was invalid. Otherwise, get the new order from the service quote and move the user to /checkout/onepage/success

Magento Affiliate Tracking / Reporting

Since TeachMeToday receives a large amount of affiliate traffic, they needed to do a few things:

 

  • Store email addresses of leads: Even if a user didn’t not checkout, we needed to store all the email addresses that came through. We did this by associating everyone who comes through the site as a newsletter subscriber (
    Mage::getModel("newsletter/subscriber")
    )
  • Track conversions: Magento by default has a .phtml file in template/checkout/onepage/success.phtml that gets loaded on the checkout confirmation page. This is a great place to drop in tracking pixels or javascript for affiliate tracking (most affiliates will require their tracking pixel on the confirmation page). We passed in the current affiliate’s id in the url string to the confirmation page (as /checkout/onepage/success?aid={affiliate_id}). We then logged every order that had an affiliate id set in a custom table in our database (calling
    Mage::getSingleton("checkout/session")->getLastRealOrderId() will give you the order id).
  • Create reports in the back end of Magento : I’m not going to go into how to add reports to the adminhtml. However, we used the aforementioned table that we stored aid=>order_id associations in to populate several custom reports for each affiliate

Conclusion

I’ve outlined a lot of complicated processes above. It was a considerable amount of work—but it goes to show how Magento’s modular structure allows you to do just about anything with it (and how awesome our Customer Paradigm Team is!).
Alan Barber is a Senior Magento Programmer at Customer Paradigm who specializes in systems architecture and application troubleshooting. For more information, or to get Magento help now, visit customerparadigm.com.

Dec 6, 2011

Great post about why NOT to use overseas / cheap Indian Programmers

The dad of one of our lead Magento Developers here at Customer Paradigm found this article about why he doesn’t fear losing his job to overseas talent, and it’s a great article: http://blog.jpl-consulting.com/2011/12/why-i-will-never-feel-threatened-by-programmers-in-india/ When I first started our company, I was lured into using inexpensive overseas programmers to handle building websites, etc. What I found by hiring an all US-based team of programmers for Magento Development and php programming was that: – The code the US programmers wrote is a lot better – The programmers here in the office were at least 5 to 10 times more efficient – Turnaround times were are lot faster – Customers like being able to talk to a real programmer – Project management costs and frustrations are way down / reduced by 2 to 4 times – There’s a huge premium for having programmers sit together in an office and tackle problems efficiently. Today, we have two of our top programmers traveling to visit one of our clients in San Francisco, CA – a short 2 hour flight from here. Thanks, Alan’s Dad!

Dec 2, 2011

Magento Wishlist Module . . . Stop Playing Around With Me

by Customer Paradigm Magento programmer Brandon Lemire Configuring MagentoMagento Wishlist Module, why are you only showing your name? Don’t you realize that you are not of use if you don’t let us in, give use some information about yourself? When My Wishlist is clicked, the expectation is that one will see a list of items tucked away to review at a later date. What does one see? The home page . . . what is up with that? After a “Why are you doing this to me?” the search began for a solution to this issue. Many questions similar to mine were returned by our favorite answer man, Google, and yet only vague solutions were provided. One discussion seemed to intimate that this was a bug in the Magneto code base . . . but there was no reference to a bug report nor a patch provided to resolve the issue. None of the suggested solutions provided the key to unlock the list of items secretly held by My Wishlist. Are you kidding? Does anyone have a solution? This treasure trove of information is held by a key member of the Magento core and to not have access has become unbelievably frustrating. Can you relate? Are you ready to pull out your hair? Well, take a deep breathe and read on … as the issue was due a breakdown in communication between My Wishlist and the rest of the core Links group they belong to. Here is how we helped My Wishlist to communicate nicely with the core Links group. You need to navigate to app/code/core/Mage/Wishlist/Block/Links.php add the function public function getUrl() { Return $this->_url; } Now My Wishlist will allow us now to see the information once hidden. For more information about configuring modules in Magento , or for Magento Programming help now, visit customerparadigm.com/ or contact us to speak to a real person about Magento web development.
Nov 18, 2011

Adapting Google Content to Magento 1.5.0.1

by James Slahor, Customer Paradigm Magento Programmer

Configuring Magento to incorporate Google Content post-Magento Base

Hi everybody. Today I want to talk about a process that I used to adapt Magento to incorporate Google Content for a site called Love ‘n Lace (http://www.lovenlace.com/). I hope that you will find this information useful.

Installing the right Magento extension key

I started by uninstalling the previous Google shopping extension via Magento Connect. Next, I used the the http://connect20.magentocommerce.com/community/Mage_GoogleShopping-0.2.12 extension key to install the extension. This key is compatible with Magento 1.5.0.1.

Creating a new Magento product attribute

Magento Ecommerce Programming Help

After I had installed the extension, I added a new product attribute: ‘availibility.’ (Catalog -> Attributes -> Manage Attributes). drop-down (as opposed to text field) required values = yes scope = global apply to all product types Manage Label / Options Manage Titles Admin = Availability Manage Options 1. ‘in stock,’ position 0, default value 2. ‘available for order,’ position 1 3. ‘out of stock,’ position 2 4. ‘preorder,’ position 3 I then added ‘availability’ under the Default attribute set (Catalog -> Attributes -> Manage Attribute Sets) under the ‘general’ category.

Managing My Magento Products

After I added my new attribute, I went to Catalog -> Manage Products (Love n’ Lace currently has Enhanced Manage Products), and applied the default ‘availability’ values to all products. Since ‘in stock’ is the default value, this forced all products to have ‘availability’ = ‘in stock.’ Next, I went to Catalog -> Google Content -> Manage Attributes, and set default attribute mapping. a. Attribute = Availability, Google Content Attribute = Availability b. Attribute = Price, Google Content Attribute = Price c. Attribute = Product Type, Google Content Attribute = Product Type (Category) d. Attribute = Color, Google Content Attribute = Color

Submitting Google Content

Finally, I went to Catalog -> Google Content -> Manage Items. a. View Available Products b. Select all available products c. Actions -> add to Google content d. Submit! This process may take a while depending on how many products you applied the ‘availability’ attribute to and how many products you are uploading. For Love n’ Lace, about 3000 products took about 20-25 minutes to run successfully. For more information, or for Magento Programming help now, call us at 888.772.0777 or contact us to speak with a real person.
Nov 11, 2011

When Should I Upgrade Magento?

By Customer Paradigm’s Magento Consultant Gillian Owen .

Upgrading MagentoThat’s a question we hear from a lot of our Magento eCommerce clients. The fact is that upgrading Magento can be costly, time consuming and often results in downtime of the store. So, do you really need to upgrade Magento every time a new version comes out? The simple answer is no. Every new version of Magento contains maybe a handful of improvements and a ton of bug fixes. You can see all of the improvements and fixes in each version of Magento here.

We recommend upgrading Magneto when:

  • Magento is more than two versions out of date (example Magento has released 1.6, so if you are still running 1.3 it’s time to upgrade).
  • If you need or want a new feature that is available on a newer version (example, you’d like to have a mobile version of your site and this is available on 1.5+)
  • If a newer version includes a fix for a bug you commonly encounter (example, you frequently need to import customers and run into errors when importing customers from a CSV so you need to upgrade to 1.6)
  • If an extension you require is only available/compatible on a newer version of Magento.

For more information about upgrading magento, or to get Magento programming help now, call us at 888.772.0777 or contact us to speak to a real person now.

Nov 9, 2011

A Magento Upgrade for K9 Power

by Customer Paradigm Magento Programmers Alan Barber and Gillian Owen

K9 Power Magento UpgradeWhile eCommerce stores running Magento’s Professional or Enterprise editions are PCI compliant, having PCI compliance on the Community edition of Magento is a little more complicated. The easiest and perhaps most affordable solution is to use a hosted payment method such as Paypal’s PayFlow Link. However, our client K9Power was running an early version of Magento ( 1.4.2) which did not include this PCI compliant payment option. So the decision was made to upgrade them to 1.6.

To start we made a copy of the live site and preceded with a regular upgrade to 1.6 following the usual methods for upgrading magento. However, we ran into a problem during the database upgrade—Magento kept erroring out on a SQL call to drop a foreign key in the `sales_flat_order_item` table. To discover the exact call being made, we hacked the Mage::printException function to see a full error dump. We then manually dropped the problematic key and resumed the database upgrade (which completed successfully).

The next step was to move over the design and custom extensions from the 1.4.2 installation to the 1.6 installation. The design was easily ported, however we ran into an issue with the OrganicInternet Simple Configurable Products extension —it became apparent this module was not compatible with 1.6. After finding a forum discussion about it, we installed an updated version from github, which seemed to resolve the compatibility issue.

Now K9power is running successfully on 1.6 and can utilize Paypal’s PayFlow Link for PCI compliant payment processing. Plus they have the added benefit of now being able to use Magento’s new Persistent Shopping Cart, which saves the shopping cart for a customer even if they leave the site. During this upgrade we also added Memcache and APC cache to increase speed, installed One Step Checkout to stream line the checkout process, and installed the Constant Contact extension to sync his mailing lists.

For more information on upgrading magento, or to get Magento programming help now, call us at 888.772.0777 or contact us to speak to a real person now.
Nov 4, 2011

Customer Paradigm How-to Guide: Upgrading Magento

Upgrade MagentoCustomer Paradigm Senior Magento programmer Alan Barber has just published a comprehensive guide to upgrading your Magento installation. Basically, there are three steps to any Magento Upgrade: 1. Install a fresh version the Magento file tree (the version you are trying to upgrade to) 2. Run the installer from this file tree on-top of the outdated database (thereby upgrading the database) 3. Move over themes and custom extensions from the old version to the current version of Magento. Read more about Upgrading Magento. Check back in for more informational articles from Customer Paradigm about Magento programming and search engine marketing. To get Magento help now call us at 888.772.0777 to speak to a real person about Magento web development.
Nov 1, 2011

Affordable Magento Hosting Provider – $6 per month

If you’re looking for an affordable Magento hosting provider, and don’t need a fully-dedicated server, you might want to check out Host Knox Magento Hosting. Their shared hosting plans start at $8 per month ($6.00) per month for their annual plan, and they will throw in some extras as well. Need A Magento Developer for your Magento site? Call us – 303.473.4400 or visit here to have a real person contact you now about Magento Development.
Oct 14, 2011

Installing Magento Go Custom Theme

After banging our heads against the wall for a bit about trying to install a third-party Magento Go Theme, I think we figured out a way to make it work. Go into the Design –> Themes Editor –> Select a standard design, and them duplicate a template. Then, you can delete what you need, and implement the CSS, Javascript and other image files. Not as clean as using the Magento Community Version where you can upload things easily via FTP. In Magento Go, implementing a Magento Go theme requires a lot of changing things via the web interface. Need help? Our Magento Developers are experts in helping modify your Magento eCommere system. Call today – 303.473.4400 or click here to have someone contact you now about Magento Development & Programming >>
Sep 14, 2011

Magento Extension Fixed for A Happy Client

We recently did a Magento extension fix for Work Place Safety Manuals, and the client had great things to say about us:
“The service I requested much completed much faster than expected. Additionally, the representative was flexible and offered to look into my Magento issues before I had to make payment. If I ever need Magento work, I’ll definitely be using Customer Paradigm.” – Aaron West
Sep 7, 2011

Upgrade Magento 1.5 to Community 1.6

Magento eCommerce takes your online store to the next level with Magento 1.6 Community Editon

Upgrading Magento is a great way to increase Magento conversions, and some Magento extensions are now noting compatibility with Community 1.6. The new update has so many fixes and offers shipping integration with label printing support along with these 2 key features that can help increase Magento conversions: The Magento 1.6 persistent cart allows the user to access their cart during multiple browsers sessions. What does this mean for your customers? This means that they can find something while on their work laptop, then visit their cart again on their home PC that evening, and add additional items to their cart from another platform such as ipad or mobile device, and check out with the same items in their cart from any one of those devices. This doesn’t require the user to login to or set up an account. Another new feature to Community 1.6 is the minimum advertised price (MAP) which allows you to have the suggested retail displayed to your customers and then display their price: Always remember to work on the upgrade on a test space so you don’t have to rebuild your site from scratch. Want to add new functionality and features to your Magento Community eCommerce store but you’re not a Magento programmer? Upgrade to 1.6 to increase usability and conversions. We can help! Call Customer Paradigm’s team of Magento Developers located in Boulder, Colorado at 303.473.4400 or visit here: http://www.customerparadigm.com/index/620/Magento-Developer.php
Sep 7, 2011

Seven Essential Extensions for Magento Community 1.6 to Increase Sales

Try these Magento Plugins and Extensions for Magento Community, make shopping easy and increase sales

The default install of Magento 1.6 Community Edition can be morphed into a different interactive animal with extensions and plugins that provide additional functionality and features. These are the Magento Extensions we recommend to enhance the user experience of your Magento eCommerce site. 1. One Step Checkout: this plugin is essential for eCommerce sites because it makes the checkout process so much easier by taking the processes from 6 steps to 1. Yep. When it comes to eCommerce sites, the #1 rule is to make it easy for your customers to buy from you. No plugin can do this better. It reduces abandoned cart rates and increases sales, substantially. 2. Configurable Checkout: for when you need to optimize the checkout process even more. Ever find that the checkout process still has superfluous options that don’t flow with what you really need from your customers? The Configurable Checkout extension for Magento allows you to disable the steps and fields that you don’t need for sections like shipping method, shipping information, payment information, and billing information (except for email, first name and last name). It also allows you to use the Billing address at the shipping address. 3. Daily Deals: This extension allows your customers to buy now (!) by offering Limited Time Deals displayed in a fully customizable flash countdown. You can run as many deals as you want simultaneously, choose a main deal, view active and past deals, and schedule the deals in advance. Deals can be set for any number of hours, minutes or days. The deals with with all product types, so it doesn’t matter if you’ve got simple, configurable, bundle, grouped, virtual and/or downloadable. There is even the option to disable the product when a deal ends or the product quantity reaches zero. 4. Refer A Friend: Want to have peeps tell their peeps about your site or products? This plugin makes it easy to do that by placing this into a left or right column, CMS pages or static blocks. The Tell a Friend email that is sent out is fully customizable. 5. AJAX Cart Pro: make adding and removing items from your cart much easier and increase conversions. With this extension, customers can pile things into their cart effortlessly without going to the checkout page. Items are added on the AJAX popup screen which allows users to continue shopping without waiting for the page to refresh. 6. Store Locator: Show off all your retail store locations with this simple plugin. The admin area allows you to set up locations to display on a Google map. Users can search by address and radius to find retail locations in their area. 7. Pickup at Event / Multiple Flatrates: Add flexible shipping options or multiple filtrates for your customers. This Extension offers two big things: 1.) You can list up to 10 different events for your customers to select from which include date and location, or, 2.) the multiple filtrates option will list up to 10 different filtrates let a set fee to be set for standard and expedited shipping options. Min/Max purchase limits can be set for each option as well. Looking to add additional functionality and features to your Magento Community 1.6 site to increase usability and conversions? We can help! Call Customer Paradigm’s team of Magento Developers located in Boulder, Colorado at 303.473.4400 or visit here: http://www.customerparadigm.com/index/620/Magento-Developer.php We also consult and support Magento eCommerce owners and site managers who have questions about the system. Call us and set up a time to talk to one of our Magento professionals and get your questions answered.

Sep 6, 2011

Magento 1.6 Community and the Magento MailChimp Extension

Sync Magento Contacts with the MailChimp Magento Extension

EBizMarts now has MailChimp Sync – the official, full MailChimp integration for Magento Community 1.6, 1.5 and 1.4. This plug merges your MailChimp and your Magento eCommerce contacts seamlessly – making email marketing even easier. Here are the main features:
* Adds ECommerce360 integration * Supports multiple MailChimp email lists. * Supports multiple interest groups * Allows sending additional Customer data to MailChimp as Merge fields. * Supports WebHooks to keep subscriptions in sync in both, Magento and MailChimp. In example, unsubscribe the user from Magento’s email list when they unsubscribe on Mailchimp’s site. * Double opt-in support * Allows to force subscription on both Register and Checkout. * Support for batch sync of subscribers from Magento to MailChimp and vice versa. [...] * Campaign Templates edition now available!
As with any Magento Community Edition extension, ALWAYS back up your files or install in a test space. Let us know if we can help! Call Customer Paradigm’s team of Magento Developers located in Boulder, Colorado at 303.473.4400 or visit here: http://www.CustomerParadigm.com/Magento
Sep 6, 2011

eCommerce Analytics for Magento 1.5 Community Edition

New Extension Provides eCommerce Analytics for Magento Community Store Owners

Love Magento but feel like you need more details on all your order info? The Jirafe Analytics extension might be the answer, and it’s compatible with Magento Community 1.5, no news on Magento 1.6 compatibility yet. With this plug, you get your stats and graphs, too, with integrated real time relevant data that are easy to understand from the analytics dashboard. To top it off, you can get daily statistics via email or on your mobile phone. Here are more details from the site:
Headline Data The headline data provides at a quick glance the following metrics, as well as trends:
  • Visits
  • Orders
  • Revenue
  • Conversion %
  • AOV (Average Order Value)
  • Revenue per Visit
Sales Funnel The sales funnel shows how visitors are flowing through your store, from entry to sale.  The following are the segments in the sales funnel:
  • All visits
  • Visits from interested people (who did not immediately bounce)
  • Engaged visits (who looked at a product in detail)
  • Ready to buy (put an item in a cart)
  • Customer (someone who purchased an item)
Additional Reports In addition, there are a number of additional reports that allow in depth analysis of specific parts of your store:
  • Keyword Report – show the amount of visits, revenue, and orders per keyword in a graphical fashion
  • Origin Report – display which channels your visitors used to arrive at your store
  • Bounce Report – display the number of users that bounce away from your site
  • …and many others!
  • The Magento Community connects Magento store owners with the tools they need to perform better. We’ll share the tools that will help you the most. Looking to add additional functionality and features to your Magento Community 1.6 site to increase usability and conversions? We can help! Call Customer Paradigm’s team of Magento Developers located in Boulder, Colorado at 303.473.4400 or visit here: http://www.customerparadigm.com/index/620/Magento-Developer.php