Four Reasons to Use Unique Product IDsIf you have a database-driven website of any kind, odds are that you're using numeric IDs somewhere. It's a natural side-effect of the technology: you build a data table, set up an auto-incremented ID, and the products, blog entries, etc. start to get numbered sequentially. Ultimately, you end up with product IDs that might as well be completely random and links that look like this:
Many people have written about the merits of using more meaningful URLs (and properly redirecting/rewriting meaningless ones), but I'd like to discuss a slightly different angle on the topic: what about those numeric IDs themselves?
Lessons from UPSWhenever I feel like I'm not quite making sense, I like to start with an example. The company that got me thinking about all of this originally was UPS, which uses a distinctive tracking number format that looks something like:
Notice anything? In addition to being a consistent length, the standard UPS tracking code always starts with the telltale "1Z". So, is that really better than a seemingly random number? Yes, and here's why:
1. RecognitionThat little "1Z" tells me right away that I'm dealing with UPS and that what I have in front of me is a tracking number. It's useful information, and it's good for branding.
2. ReferenceCustomers need to reference your products precisely, and unique IDs have a purpose even if you have meaningful product names and URLs. I recently conducted an experiment with a client where I converted their numeric IDs to easily recognizable 6-letter codes. Those codes were still meaningless, but they gave visitors an easy way to reference products. The codes were useful enough that they even spilled over into offline requests (phone, fax, etc.).
3. Internal SearchThis relates to #2, but using a slightly unique code allows you to easily recognize product codes on your site's search engine. Instead of needing a box for keywords and a separate search box for product codes, you can easily parse out the codes, allowing users to enter codes anywhere they can search.
4. Online Search & SEOFinally, you might experience the side effect that I did: having your unique product codes start popping up in Google searches. If your customers start using those codes and recognizing them, you may have just saved them a step or saved yourself a lost purchase if that customer misplaced your URL.
Brad· Thursday, January 10
Hey Pete... I just thought I'd point out one downside to many numerical ID systems, and it's that typos can be fatal unless certain checks are built in. This is not the case for, say, word recognition. If I accidentally type "usreeffect", most readers can quickly determine my meaning without even missing a beat. If I accidentally mistype numbers for a sequential ID, however, there's no way to recover from that unless you have additional information. Some systems address this by adding "check numbers" at the end of a sequential ID. A rudimentary example would be to simply add the numbers from the ID and append the sum to the end of the number: 351-9 (9 is the sum of 3, 5, and 1). This way if someone misreads a number and provides 357-9, you will immediately know that there's a mistake since the check number isn't right (it should be 15 in that case). You still don't know what the right number is, but at least you know not to act on clearly incorrect information.
Dr Pete, nice post. I'd like to point out that a corollary to this is if you are a distributor of products or services from a company that are identified by both a name and ID #, INCLUDE BOTH ON YOUR WEBSITE. As you point out, these can bring in great, targeted search engine traffic, and often a well-optimized distributor's website can rank ahead of the manufacturer's.
Dr. Pete· Friday, January 11
@Brad: you make a good point. Numeric IDs are a bit of a necessary evil in some cases (like large product inventories), and my argument is intended more as why one evil is better than another.
Credit card companies definitely use a system like what you discuss. There are a number of ways to validate a CC number even prior to authorizing the card, as an extra security precaution. In my client's case, we actually developed the new code as a base-24 number derived from the old code. It's a long story, and I didn't want to give away too many details, but the resulting number is more consistent and verifiable that way, which has had a number of advantages.
Dr. Pete· Friday, January 11
@Dave: I agree, and you make a good point about distributors/resellers. In this case, we're still using meaningful names in the URLs and the product names, but have also made the new IDs more prominent, for people who need to come back to the site and easily reference something. Part of our problem was that some product names were fairly similar, causing confusion when people returned to the site or called the company.
Interesting article Pete. If the IDs get too long they could cause problems in URLs. Unlikely people are going to remember a long ID and as Brad pointed out typos would certainly be a source of error.
If the IDs are a reasonable length I see no reason why you shouldn't use both like David mentions. Some product IDs are recognizable and likely even searched for so why not use them.
In general having some unique way to identify things is always good. On the page itself it only makes sense to have that unique identifier. Maybe not always in the URL, but somewhere in connection with the product.
Dr. Pete· Sunday, January 13
@Steven - Unfortunately, as I was writing this entry, I realized that I couldn't really use the details of what I did for this particular client. I'm realizing now that a lot of the nuance was lost in those details. There's definitely a balancing act of how best to use the internal product IDs, product names, and customer-facing IDs, and that balance would vary with different customers.
Hey Pete, I guess this could work in some specific situations. But I was working for a price comparison website and think they would never change meaningful product names/URLs for codes, and I guess they would never accept information like that from data providers... SEO and Google are too important.
Dr. Pete· Monday, January 14
@Alexis - It's official: no one understood this post :) I should've given out more details, but the final solution in this case used both the unique code and product name in the URLs, which ended up helping SEO. This was a case where we couldn't use product names alone (they're not unique), so it was a matter of either using numeric IDs or a new solution (the more structured, unique ID). I'm realizing that a lot of this is case-specific.
Some interesting ideas. I have recently decided to drop unique IDs in URLs and just have the name of the page as the URL instead. I think that this is the best as it will provide a small boost in the SERPs if people are looking for exactly what is on that page, such as a product.
This is great advice, thanks a lot. The "1Z" bit really does make the number more meaningful and more easy to memorise.