Surely a GPS heading is True and therefore
both Variation and Deviation have to be tak.en into account to compare with your compass.
Tides ,currents etc have nothing to do with the compas but may influence a gps Track
Some GPS devices let you set headings to magnetic. I have a Garmin GPS 76: it lets you set the heading to magnetic, and it automatically adds (subtracts) variation. You can also manually input the variation.
I''ll plan on using my GPS 76 to check my compass deviation (another to-do item). It definitely seems like like the most economical alternative.
The difference between your GPS and your compass is the sum of variation (difference between magnetic and geographical North) plus deviation (compass "error" caused by ferromagnetic metals on the boat) plus leeway (current plus leeward slippage of the boat through the water). To find deviation from GPS and compass readins you need to know variation and leeway, or to sail in one direction and then reverse course by 180.