If you wish to be a bit more precise there is one additional factor involved, compass deviation. If you are determining your heading by reading from your compass it is not actually giving you the magnetic heading, but the compass heading. The difference between compass heading and magnetic heading is deviation. The amount of deviation will vary depending on the heading and can be determined by the painstaking process of swinging the compass. If you accurately know the deviation at your compass heading you can calculate the magnetic heading which you can then compare to the observed GPS COG, the difference being leeway.