I think the most appropriate approach is to use an ordered probit or ordered logit model. This can accomodate your continuous measure of quality, and also can include other characteristics of your customers, such as age, number of purchases, amount purchased, time spent as a customer, gender, etc. I'm going to assume your data is a random selection of customers, or the full population of all customers. If it is neither (let's say it is a snowball sample or some other convenience sample), these results will likely be biased, unless you have another way to adjust them based on other data you have.
The basics of an ordered logit model are similar to a regular binary logit. Rather than having a single intercept or threshold (the constant in a logit model), you have multiple thresholds or cutpoints that represent the cut off between each level of your ordinal scale. Your output has a single coefficient for each independent variable, which you interpret as the change in log odds (or odds, if exponentiated) of responding in a higher ordinal category associated with a unit increase in your independent variable. Marginal effects can also be estimated which provide the probability that a customer responds in a given level. This is a very useful interpretation.
Ordinal logit and probit models assume proportionality, meaning that the relationship between the independent variables and the change from any two adjacent response categories is proportionally the same. This can (and should) be tested. This can be done using the Brant test of parallel regression assumption. Take a look here for an implementation in Stata and SAS. If your results show that proportionality does not hold, you can run a multinomial logit, where the categories are assumed not to be ordered, or a generalized ordinal logit, which allows the effect on each level to be different though still ordered. See here for more details. It can be implemented in Stata, though I don't know about other programs.
While conceptually an ordinal logit or probit works like a binary logit and probit, I do recommend reading up on the model before running the output, because it is important that you conceptually understand the latent variable interpretation to interpret the output.