This report documents the reasons behind why some retailers can scan a bar code from your mobile device and why some cannot.


CardBank, combined with the widespread use of touch screen mobile devices (specifically the iPhone), is a convenient utility that saves time and space in everyday life by storing preferred customer and loyalty cards and freeing up space in the wallet and on the keychain. Before its launch, CardBank was tested in a controlled environment and found to scan with high decodability and repeatability. Despite the results of testing, feedback after the release was mixed and included reports that the program’s bar codes were not scanning at point of sale (POS) systems. BCG conducted field tests to verify these reports and determine the causes. The results pointed to a combination of POS technology and user error.

POS bar code scanners vary between retailers and generally fall into two categories, laser and LED. Simplified, laser scanners emit a beam of light that is rapidly scanned across a bar code and is reflected to a photoelectric cell. In contrast to a single receptor, LED scanners use a line array of many CCD elements to "read" by detecting the ambient light that is emitted from the bar code. LED scanners emit light to illuminate the bar code, but scans are not dependent on a single beam of light following a specific path between scanner, bar code, and back.

An iPhone’s screen is an LCD covered with a glass which, during the tests, worked well with LED technology but created issues when using laser scanners. The main problem with laser scanners was the refraction due to the glass screen. In controlled circumstances it is possible to achieve a successful scan but the distance and angle between the scanner and mobile device falls into a much smaller range. Contrary to laser, LED scanners, working with the ambient light emitted from the LCD screen, successfully scanned the bar code within the first several tries and usually succeeded on the first attempt.

Based on the knowledge of POS technology, a list of guidelines (Shown on Scanning Tips) was provided along with CardBank to increase the scan-ability of the bar codes. Many of the feedback reports received citing unsuccessful scans were due to not following the provided guidelines. The most common error was failure to maximize screen brightness which lowered contrast between bars and spaces within a bar code. Low contrast affected the ability of both scanner technologies to accurately convert, using a threshold function, the analog signal from the receptor(s) into a digital signal understood by the POS system. Another common error was attempting to use a bed scanner, such as one found at a grocery store. Bed scanners are laser based with the addition of a rotating mirror which turns the scan line making the scanner “omni directional.” Combined with the refraction due to the iPhone’s glass screen, bed scanners will not successfully scan bar codes and thus it is recommended to always use a hand scanner, available to the clerk at most POS systems. The use of the hand scanner created another common user error. Many times, whether the user handed their phone to the clerk or held it up, the clerk would try to hold the scanner too close to the phone and the user would not correct them. As discussed previously, scanners, especially laser, work in a very specific distance range. Many times it was observed that if the bar code did not scan immediately the clerk would move the scanner closer to the phone and many times put the two against each other. Finally, other common user errors that prevented successful scans inlcuded dirty screens, screen protectors, and incorrect data entry when inputting loyalty card information.

CardBank is a novel implementation of the smart phone into every day life. Unfortunately in the field, not all POS systems are as technologically advanced as smart phones. Furthermore, technology is only as effective as the user who utilizes it. If a user follows a few simple guidelines to maximize scan-ability, they should be able to achieve successful scans at most retailers. For those retailers whose POS scanners cannot achieve a successful scan of a CardBank bar code, the loyalty card numbers are still readily accessible for the clerk to enter manually and the user’s wallet and keychain remain clutter free.