PRB: Click URLs for Ads Do Not Function When Site Is in URL Mode or Cookies Are Turned Off (295638)
The information in this article applies to:
- Microsoft Commerce Server 2002
- Microsoft Commerce Server 2000
This article was previously published under Q295638 SYMPTOMS
Click URLs that typically take the customer to a certain category or product page do not function.
CAUSE
If a customer's computer has cookies turned off, or if a Commerce Solution Site is in URL mode, an MSCSProfile ticket is appended to the customer's URL. The ASP script in Banner.inc returns an advertisement that has no ticket on the URL.
RESOLUTION
To permit advertisements to append a ticket to the URL, follow these steps:
- Install the Resource Kit, and then run the TemplateCreator.exe file.
- Select the site that you want the ads to display in.
- Add an attribute named mscsprofile to the image template, as follows:
Label= mscsprofile
Source = contextprofile
NOTE: Do not set the type so that it does not show up in the Bizdesk.
- Right-click the image template, and then click template text. After the URL, type %26{%mscsprofile%}. The resulting code resembles the following:
<!--Inserted by Microsoft Commerce Server-->
<A HREF="{%RedirectUrl%}?ciid={%item_id%}&cachename={%CacheName%}&PageGroupId=
{%PageGroupId%}&url={%ClickUrl%}%26{%mscsprofile%}" TARGET="{%TargetFrame%}
"><IMG SRC="{%ImgUrl%}?CEVT={T=CAMP,CI={%item_id%},PG={%PageGroupId%},EVT
=DOWNLOAD}" WIDTH={%Width%} HEIGHT={%Height%} BORDER="{%Border%}"
Alt="{%AltText%}"></A>
- Change Banner.inc as follows:
Dim oCSO, Ads, Ad, oUserProfile, bcookie
If IsEntityInSet(sThisPage, MSCSPageSets.AdvertisementPageSet) Then
Set oCSO = Server.CreateObject("Commerce.ContentSelector")
'oCSO.Size = "Banner"
oCSO.Border = 1
oCSO.TargetFrame = "_top"
oCSO.NumRequested = 1
if m_iTicketLocation = 1 Then
bCookie = False
Else
bCookie = True
End If
if bCookie = False then
oCSO.MSCSProfile = GetTicketInUrlArg()
else
end if
Set oUserProfile = GetCurrentUserProfile()
If Not oUserProfile Is Nothing Then
Set oCSO.UserProfile = oUserProfile
End If
Set Ads = oCSO.GetContent( Application("CSFAdvertisingContext") )
For Each Ad In Ads
Response.Write(Ad)
Next
End If
Modification Type: | Major | Last Reviewed: | 10/22/2003 |
---|
Keywords: | kbprb KB295638 |
---|
|