Comparison of extra parameters for IBM Digital Analytics tags
The WebSphere Commerce order tag (<cm:order />
) and shopping cart
tag (<cm:cart />
) support multiple parameters that you can use to pass
additional data to IBM Digital Analytics. Those parameters are extraparms
,
extraparmsMap
, and orderExtraparms
(orderExtraparms
is applicable only to the order tag). It is important to
understand which parameter to choose so that you get the results that you expect in the generated
IBM Digital Analytics data tags.
Parameter | When to use |
---|---|
extraparms |
Use when you want to append the same values to all
catalog entries in the order.
|
extraparmsMap |
Use when you want to append different values to specific catalog entries in the order, as defined in a hash map. This parameter is an
alternative to the extraparms parameter when you need the additional function of
the hash map.
|
orderExtraparms |
Use when you want to append values to the order. This parameter is supported by the |
extraparms
values. You must specify the values using properly
escaped JavaScript: - Simplified syntax example
extraparms="value1-_-value2,value3-_-value4"
- Properly escaped JavaScript example
extraparms="\"value1-_-value2\",\"value3-_-value4\""
If any of your extraparms
values are JavaScript variables, see the syntax
rules explained in Syntax for passing JavaScript variables as extra parameters.
Example of extraparms
parameter usage
The following shows an
example of how you would include a WebSphere Commerce analytics tag with the
extraparms
parameter in a store page:
<cm:order orderId="${WCParam.orderId}" extraparms="null,attr1-_-attr2"/>
In
this example, the previous sample code generates the following
cmCreateShopAction9Tag
data tags for two catalog entries in the order (note that
the <order />
tag also generates the cmCreateOrderTag
data tag,
but it is not shown in this
example):
cmCreateShopAction9Tag ("KICO-02", "Flavour-Fantasy Gift Set",
"1.0", "43.58", "1502", "15501", "51.51", "10025", null, "attr1-_-attr2")
cmCreateShopAction9Tag ("KIAC-03", "Rolling Pin",
"1.0", "7.93", "1502", "15501", "51.51", "10025", null, "attr1-_-attr2")
cmCreateShopAction9Tag
output examples, the
extraparms
parameter generated the following data for both catalog entries in the
order:null, "attr1-_-attr2"
extraparms
values, see:Example extraparmsMap
parameter usage
To append different
values to specific catalog entries, you must pass an object of type java.util.HashMap as the value
for extraparmsMap
. The key of the map is the orderItemId
and the
value is the extra parameter that you want to pass for that catalog entry. The following sample
code shows how you might use the extraparmsMap
parameter with a WebSphere Commerce analytics tag in a store page; note that the code to create the java.util.HashMap
object precedes the WebSphere Commerce analytics
tag:
<wcf:getData type="com.ibm.commerce.order.facade.datatypes.OrderType" var="orderForAn"
expressionBuilder="findByOrderId" scope="request">
<wcf:param name="accessProfile" value="IBM_Details" />
<wcf:param name="orderId" value="${WCParam.orderId}" />
</wcf:getData>
<%
java.util.HashMap map = new java.util.HashMap();
com.ibm.commerce.order.facade.datatypes.OrderType
ord = (com.ibm.commerce.order.facade.datatypes.OrderType) pageContext.getAttribute
("orderForAn",PageContext.REQUEST_SCOPE);
java.util.List orderItemList = ord.getOrderItem();
java.util.Iterator itr = orderItemList.iterator();
int i = 1;
while (itr.hasNext()) {
com.ibm.commerce.order.facade.datatypes.OrderItemType
orderItemObj = (com.ibm.commerce.order.facade.datatypes.OrderItemType) itr.next();
String id = orderItemObj.getOrderItemIdentifier().getUniqueID();
map.put(id, "null," + "attr" + i+ ".0-_-attr" + i+ ".1");
i++;
}
pageContext.setAttribute("eMap",map);
%>
<cm:order orderType="${orderForAn}" extraparmsMap="${eMap}" />
The
previous sample code generates the following example cmCreateShopAction9Tag
output
for two catalog entries in the order: "Flavour-Fantasy Gift Set" and the "Rolling
Pin":
cmCreateShopAction9Tag ("KICO-02", "Flavour-Fantasy Gift Set",
"1.0", "43.58", "1502", "15501", "51.51", "10025", null, "attr1.0-_-attr1.1")
cmCreateShopAction9Tag ("KIAC-03", "Rolling Pin",
"1.0", "7.93", "1502", "15501", "51.51", "10025", null, "attr2.0-_-attr2.1")
cmCreateShopAction9Tag
output examples, the
extraparmsMap
parameter generated the following data:- For the "Flavour-Fantasy Gift Set":
null, "attr1.0-_-attr1.1"
- For the "Rolling Pin":
null, "attr2.0-_-attr2.1"
extraparms
values, see:Example of orderExtraparms
parameter usage
The following
shows an example of how you might include a WebSphere Commerce analytics tag with the
orderExtraparms
parameter in a store page:
<cm:order orderType="${orderForAn}" orderExtraparms="attr1-_-attr2" />
The
previous sample code generates the following cmCreateOrderTag
data tag (note that
the <order />
tag also generates the cmCreateShopAction9Tag
data tag, but it is not shown in this
example):
cmCreateOrderTag ("16002", "46.65", "6.93", "1502", "LA", "CA", "11111",
"attr1-_-attr2", "-_--_--_--_--_--_--_--_--_--_--_--_-
Save 10% on all orders today|Flat Shipping-_--5.4|-1.93-_-|")
In
the previous cmCreateOrderTag
output example, the orderExtraparms
parameter generated the following data about the
order:
"attr1-_-attr2"