What may cause this is the template I edited, to pass my variables.
Can this be the cause? I didn't think the tag would refrain from firing in case of error, I thought it would fire and I would see the JS error in the browser dev tools.
Hi Philippe, thanks, now I understand the u.data.v1=list_product_ids; you were referring to earlier.
Ok, here is the issue. When the template is loaded the variable "list_product_ids" is defined but specifically array index  is not. So when u.data.v1 tries to grab a value, the undefined value throws a JS error. Because of this the code is stopped, the template is not able to be fully loaded, and therefore it cannot make the appropriate call.
Here is what I would do:
- Edit the Tag configuration
- Expand "Advanced Settings"
- Click "Manage Templates"
- Two templates will show (one profile and one version), select one template from the drop-down and delete it (by clicking the Trash Can icon) then do the same for the other template
- Close the Manage Templates modal
- Click the Mapped Data Sources tab in the Tag Configurator
- Select "list_product_ids" from the drop-down
- Click "Select Destination"
- When the new modal appears select "v1"
- Save the change and then Apply/Finish the change
The mapping will overwrite the default value of the template so that you don't have to manually edit the template. The mapping will also wait until the appropriate time to overwrite the value and only overwrite if the value exists.
Give this a try and let me know if you have any questions.
Sounds good, except I need to access the 1st ID in that list of IDs (and assign it to "v1"), that's why I was using the  index.
My list_product_ids variable is in that form: ["111", "333", "555"]
Any help much appreciated, that's the last key to my issue with that tag.
The mappings only allow you to pass the full array/string variable, not a subset of the variable. In your case, your best bet would be to:
- Create a new Data Source, for example "first_product"
- Create a new Set Data Value extension
- Set "first_product" to JS Code of b.product_id with a condition that product_id is defined
- Map "first_product" to "v1"
This first_product variable will contain the 1st product of the array and allow it to be sent.
Let me know if that helps.