Your Primary Category Is Too Vague
Google uses your primary GBP category as one of its strongest ranking signals, and "Contractor" is about as useful as writing "human" on a job application. If someone searches "roofer near me" and your primary category is something generic, Google won't connect the dots. You're competing against people who got this right on day one.
Fix it: Go to your GBP dashboard, click Edit Profile, and find Business Category. Search for the most specific match Google offers: "Roofing Contractor," "HVAC Contractor," "General Contractor." Not the broad parent category. If you do multiple trades, your primary category should match the service that drives the most revenue.