Force params to lowercase
If these parameters may not always be lowercase,
then I don't think there's a better way.

However, if you have many callers that are guaranteed to use lowercase parameters,
and it's a pity to call .lower() for those,
then you could split this into 2 functions:


One for callers that are guaranteed to use cleaned parameters (lowercased parameters)
One for untrusted callers


For example:

def _get_revenue(self, metric, product, platform):
    # get adjustment for product.platform, multiply by metric
    if product not in self.adjustments:
        raise Exception('Unknown adsense product: {}'.format(product))

def get_revenue(self, metric, product, platform):
    self._get_revenue(metric, product.lower(), platform.lower())


In the examples I used snake_case naming for method names,
as recommended by PEP8.

By the way it seems a bit odd that the function name starts with "get" but it doesn't return anything.

Without seeing the full code, 
I don't see a reason to object against the use of self.adjustments.
Whether it's objectionable or not really depends on the rest of the code.

Something to object against though is the platform param which is not used by this method.
Ideally it shouldn't be there at all.