Arduino GPS shields

Any recommendation for Arduino GPS shields?
I have the Elegoo Robot car v3 and it does not follow a straight line always.
I am wondering if it will be possible to have a GPS module and use that to define the path to follow?

Adafruit UltimateGPS is my recommendation for a shield.

GPS has +/- meters of accuracy tho. Straight line following could be even wilder.

tnkumar:
it does not follow a straight line always.

When you say follow a line, do you mean as in tracking say a black tape on a white floor? Or do you just mean if you command it to "goForward" or similar, it veers to one side?

And you say it doesn't always follow its line: does that mean that sometimes it does? Can you isolate the circumstances under which it does / not?

I am not tracking a tape. When I say "Forward", it veers to one side.
I stated the situation incorrectly. It always veers to one side.
Also, it has 4 DC motors and has 4 commands in the UI - forward, backward, right and left.

CrossRoads:
GPS has +/- meters of accuracy tho. Straight line following could be even wilder.

Subsequent to asking the question, I came across this on the Internet

It claims that the GPS works internally and has +/- 2cm accuracy.
It seems expensive and would like to check if anyone has experience with this or similar and used with Arduino based robots

Perhaps the wheel on one side is slightly faster or has a slightly larger circumference.