yeah I agree on the missing end foreach
Should be like this:
Code:
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
{foreach from=$orders item="order"}
'transactionId' : "{$order.order.orderid}", // order ID - required
'transactionAffiliation' : "{$partner|default:'Main stock'}", // affiliation or store name
'transactionTotal' : "{$order.order.total}", // total - required
'transactionShipping' : "{$order.order.shipping_cost}", // shipping
'transactionTax' : "{$order.order.tax}" // tax
'transactionProducts' : [{
{foreach from=$order.products item="product"}
'transactionId' : "{$order.order.orderid}", // order ID - required
'name' : "{$product.product|wm_remove|escape:javascript}{if $active_modules.Product_Options ne "" and $product.product_options_txt} ({$product.product_options_txt|replace:"\n":", "|wm_remove|escape:javascript}){/if}", // product name
'sku' : "{$product.productcode|wm_remove|escape:javascript}", // SKU/code - required
'category' : "{$product.category|default:'Unknown category'}", // category or variation
'price' : "{$product.price}", // unit price - required
'quantity' : "{$product.amount}" // quantity - required
{/foreach}
}]
{/foreach}
});
</script>