Ping spikes happen because somewhere between you and what you are pinging packets are being buffered before being processed. Normally this is because more packets are arriving to the router than it can processes and so your packet has to wait it's turn. This could be happening on your Google router (multiple people using the connection at the same time, bad software configuration, failing hardware, etc), you ISP's routers (more users than it can handle, failing hardware, etc), or even out on the internet. So, the first thing is to find out where it is happening.
1. Run tracert to google.com (open a command prompt, and enter "tracert google.com").
2. The tracert will ping each router on the path between you and google. Some won't respond, that's normal. Make note of the the first and 2nd hops.
3. Open 3 command prompts and run "ping -n 100 x.x.x.x" to the first hop (your router), 2nd hop (your ISP), and google. (the x.x is the IP address of the router we are interested in)
When a ping spike occurs, you should see ping times go up on the ping to google. Does it also happen the pings to your ISP and/or your router?
IF you see the increased ping times on the ping to your router, then the problem is inside your network.
IF pings to your router are good, but pings to your ISP show increased ping time, then there is something going with your ISP router.
Lastly, if only the pings to google show the ping spike then it's an internet issue and it's unlikely you can do anything (call Bill Gates?)
What if none of the pings show a slow down? Run them again ... how random are these ping spikes? Maybe it's an issue with the server you are connecting to. If you know the IP of the server you were having an issue with, add another windows with a ping to that.
Let us know what you find out.