Indeed it looks like an inconsistent handling of the case "not applicable". Excerpt from the AdWords forum
"For the Shopping case I agree and this is what I assumed as well. But in such a situation the report (pulled via API) should return "not applicable", i.e. n/a, NULL, or "--" (
two dashes) as for other fields in the report. This is not a proper handling the "not applicable" case.
I also see Average Position = 0.0 for Search and Display campaigns. In those cases it always seems that the impressions = 0 but clicks > 0. So are these "just" data inconsistencies? Having clicks but no impressions and no average position in Search does not sound very reasonable to me."
I think 0.0 for average position is just the default value for the case "not applicable" for a numeric value on your side. Can you confirm this? Because then I can handle it properly again on our side in the database and convert the 0.0 values to NULL.
Are there other fields that have such a special "not applicable" case handling? Because for string fields it seems the reports always return "--" (two dashes) as per
documentation. If this is the case, the documentation should probably expanded in order to cover this case as well.