I was having the same issues as previously stated in this post. A couple months back I decided to just figure out what the heck was going on with GA tracking and storefront. Its pretty easy to get the site tracking in GA but its the e-commerce data is what we are all after and that seemed to never work. So after days of debugging the source I found out what the issue seemed to be at least for us.
We have products/categories that have single and double quotes in category names as well as product names like 4" x 140' Black Tape, 4" Vinyl etc..
There is no validation in the source that checks this and strips out or escapes the characters that may cause a syntax error for the GA script. Since GA is expecting an array of strings this essentially renders a syntax error in the client for the script.
Below is an example of how the item should be formatted to be passed to google.
Code:
_gaq.push(['_addItem',
'1234', // order ID - necessary to associate item with transaction
'DD44', // SKU/code - required
'T-Shirt', // product name - necessary to associate revenue with product
'Olive Medium', // category or variation
'11.99', // unit price - required
'1' // quantity - required
]);
This is an example of how mine used to look at runtime.
Code:
_gaq.push(['_addItem',
'1234', // order ID - necessary to associate item with transaction
'123456', // SKU/code - required
'1"x140' Black Vinyl', // product name
'1" Vinyl', // category or variation
'123.45', // unit price - required
'1' // quantity - required
]);
The single and double quotes terminate the array and then GA complains that it isn't properly formatted. That is the first thing I would check in your code.
I hope that helps someone out there.