How should we han­dle online mea­sure­ment of rebates, dis­counts, and coupons? It’s an impor­tant ques­tion, espe­cially for online retail­ers imple­ment­ing Site­Cat­a­lyst. Not only do these data fac­tor into your bot­tom line, but they can pro­vide mean­ing­ful insight into your user expe­ri­ence. Let me begin by telling you how not to do it:

Do not do it by pass­ing neg­a­tive val­ues in the rev­enue por­tion of the s.products string. Take a look at the fol­low­ing made-up exam­ples of this all-too-common mistake:

s.products=";Nikon SB-600 Speedlight Flash for Nikon Digital SLR Cameras;1;229.99,;discount;1;-29.99"

s.products="Computers;Apple MacBook MB466LL/A 13.3-Inch Laptop;1;1349.99;event1=-49.99"

Okay, so in the first exam­ple we have a Nikon speed­light Flash retail­ing for $229.99, and then we have a $29.99 dis­count. This makes sense, right? Total rev­enue to the com­pany is $200.00, and that’s what they want to report in Site­Cat­a­lyst. It’s com­pletely log­i­cal. In the sec­ond exam­ple, they’re using a cus­tom event to receive the rebate, and they’re report­ing it as -$49.99. Their idea is to make event4 a neg­a­tive num­ber, show­ing the amount to sub­tract from revenue.

Why is this a prob­lem? First, what hap­pens if you ever want to report on “pre-discount” rev­enue for any rea­son? If you’ve sub­tracted the dis­count directly from your rev­enue num­bers, you don’t have a quick and easy way to pro­vide this data. Along those same lines, you don’t have a way to report on the total amount of discounted/rebated/returned revenue.

What should I do?

You should set up cus­tom cur­rency events rep­re­sent­ing the rebate amount, dis­count amount, etc. and pass the amount as a pos­i­tive num­ber. Here’s the first exam­ple from above han­dled correctly.

s.products=";Nikon SB-600 Speedlight Flash for Nikon Digital SLR Cameras;1;229.99;event2=29.99"

The sec­ond exam­ple above was on the right track; you should always use a dis­tinct cus­tom event to track dis­counts or any dol­lar value that isn’t exactly rev­enue. The cor­rec­tion you see here shows event2 as a pos­i­tive $29.99.

Okay, but how do I report on it?

It’s a good ques­tion. After all, the whole point of using neg­a­tive numbers—by sub­tract­ing directly from rev­enue, for instance—is to report an accu­rate rev­enue total tak­ing dis­counts into con­sid­er­a­tion. If you fol­low the exam­ple described above, using a cus­tom numeric event to pass the pos­i­tive dis­count amount, then you can cre­ate this cal­cu­lated met­ric:

[Actual Rev­enue] = [Rev­enue] — [Dis­count Cus­tom Event]

Voila. And because “Dis­count Cus­tom Event” (e.g., event2 in the exam­ple above) is sub­re­lated, as is Rev­enue, you can pull this new cal­cu­lated met­ric into any report that accepts con­ver­sion events (e.g., Prod­ucts, Cam­paigns, Cus­tom Con­ver­sion, etc.).

Believe me—the integrity of your data is worth the extra step of using a cal­cu­lated met­ric to report on post-discount rev­enue. You do want data on your dis­counts and rebates, and you can absolutely have it. Just make sure you do it in such a way that all of your reports will be able to han­dle what you’re pass­ing into them.

If you have any­thing to say about this (or any­thing else Omniture-related, for that mat­ter), please feel free to leave a com­ment, and I’ll respond as quickly as I can. You can also fol­low me on Twit­ter (@OmnitureCare) or e-mail me at omniturecare@​omniture.​com. Let me know how I can bet­ter take you “under the hood” of the Omni­ture Online Mar­ket­ing Suite!

  • http://insightr.com James Dut­ton

    Hey Ben,

    I’m not sure if I missed some­thing very obvi­ous, but it appears that with your orig­i­nal exam­ples none of the integrity of the data has been lost. In both your orig­i­nal code exam­ple and the revised exam­ple the only poten­tial dif­fer­ence seems to be in the logic you’d use to cre­ate the cal­cu­lated actual rev­enue metric.

    In your exam­ple you pro­pose using pos­i­tive val­ues for dis­counts (in fact this is how Omni­ture train­ing sell this — accord­ing to train­ers I’ve worked with it is described as impos­si­ble to send a neg­a­tive value — which from my expe­ri­ence is not true). So to that point, you could in fact use neg­a­tive val­ues in your cus­tom events and reverse the logic in your cal­cu­lated met­ric using:

    [Actual Rev­enue] = [Rev­enue] + [Neg­a­tive Dis­count Cus­tom Event]
    [Actual Rev­enue] = 229.99 + (-29.99)
    [Actual Rev­enue] = 200.00

    I would add that by using neg­a­tive val­ues in your cus­tom events it is eas­ier to share data with your mer­chan­dis­ers — who rather than see­ing a report with a value of (eg) $12,345 and you hav­ing to explain this is the neg­a­tive impact on rev­enue through the dis­count­ing you could show -$12,345. Clearly the imple­men­ta­tion deci­sion would be dri­ven by how the busi­ness wants to see this data in report­ing — a typ­i­cal strat­egy used for this is in design­ing reports prior to the imple­men­ta­tion process to clearly iden­tify how data needs to be pre­sented and what sec­ondary analy­ses might be required (via clas­si­fi­ca­tions etc…).

    Please do let me know if I missed some­thing obvi­ous that breaks my logic?

    Cheers, J