It is usually glare, not the code. Copper is shiny, so the scanner’s own light bounces straight back into its lens. The scanner sees a white blur where your code should be.
Two things fix it. First, stop pointing the light straight at the part. A ring light or a dome light comes in from the side, so the glare goes somewhere else. Second, roughen the copper around the code. A dull background stops behaving like a mirror.
One more thing worth knowing. The same code can pass on one scanner and fail on another, because the grade depends on the light the reader uses. The standard for this is ISO/IEC TR 29158.