Sell on any website!


< Back to FAQ’s

Cart Setup – Advanced

Special Americart Tags and Modifiers

Multi-item additions to cart

Creating Your Own Checkout Forms

Inventory control and quantity limiting

Gift Certificate Implementation

Discounting prices and having sales

Interfacing your product data to Americart

Adding our product search engine to your site

Adding a discount for orders over a set amount

Setting up coupon codes

Also see our FAQs for Basic Cart Setup

dotted line

Special Americart Tags and Modifiers

Q1: I've got a product option that people MUST fill out, but sometimes they forget. Can I safeguard against this?

A1: For select boxes, there's a built in solution. The first item in the select should be:
<select name=op1>
<option value="=error= You must select a size hat.">Select size</option>
<option value="S">Small</option>
<option value="J">Jumbo</option>
For other types of input, text boxes, radio buttons, etc, there is another construct, the "req" variable:
<input type=hidden name=req value="op1=message string^op2=next message">
Any op variable you wish to require can be listed here, along with the message to display if left blank. If you look at the construct, it's pretty self explanatory. Just make sure it's inside the <form> for the particular item.
The req tag will work with multi item submission also, just follow the format outlined for that method:
name=req_1 will match item_1


Q2: From the cart display I want people to be able to link back to my page where they originally added an item to the cart. How can I do this?

A2: There is a tag for this:
<input type=hidden name=parturl value="">
The parturl tag will work with multi item submission also, just follow the format outlined for that method: name=parturl_1 will match item_1


Q3: My product descriptions are quite long, and wrap strangely in the cart display and in the emailed order. Can this be cleaned up?

A3: Yes. Just put a <br> as the first four characters in each option you wish to break to another line:
<input type=checkbox name=op5 value="<br>Giftwrapped please">


Q4: I've got an item that people might put in their cart, but I don't want the continue shopping button to take them back to that page. How can I avoid this?

A4: As you know, the Americart display displays a graphic which provides a link back to the last page from which an item was added to the shopping cart.

That often is just perfect, but some pages where you might have someone add something (sales tax selection perhaps), you don't want the customer to continue shopping there; it would be pointless. To give you more control over these "special" pages, we've created two new variables which you can use to avoid such problems.
    gobackto, when included as a hidden variable, will tell the cart to go to a specified URL when continue shopping is selected. Use this format:
    <input type=hidden name="gobackto"
    ignore_referer, The html structure is the same as gobackto, but this tag will just tell the cart to ignore this page as far as the continue shopping button goes, and return instead to the last page from which a normal item was added to the cart.


Q5: I add several items to the cart as a group, or package deal using multi-item submission and don't want shoppers to be able to remove an item from the group. Can I stop them from using the "remove item" button in the cart display to wreak havoc?

A5: Yes. To fix that, we've added a new tag which can go into the partnumber field of the items in a group. Just include =NA= anywhere in the partnumber field. Simple fix for a difficult problem. See the example page at


Q6: I want to offer discounts to people on my products. Can I?

A6: Yes. We have two systems for supporting this, our "traditional" discount system, and our new "quantity based" discount system. See this FAQ: Discounting prices and having sales.


Q7: I'd like to have some "add to cart" functionality right in the cart display. Can I do it?

A7: Yes. The "merchant message" field in the advanced section of the configuration form is perfect for this. Here's an example of adding a "How did you hear about us?" query to the display, and the info will come through in the order:
<center><form action=cart.cgi method=POST>
<input type=hidden name=item value="a-1358^=SF==MX1=data^Heard via^0^1">
How did you hear of us?
<select name=op1><option>hotbot<option>altavista<option>yahoo</select>
<input type=submit value=go></form>


Q8: One feature in particular that I find very valuable is the ability of "cross selling" or better known as IMPULSE BUYING. When a customer orders one item, the ordering system can suggest related items they might want to buy as well. Do you support this?

A8: We call that "upsell". It is supported.
In a given product, whatever you want to offer as an upsell during checkout, put the following tag in that product's form construct:
<input type=hidden name=upsell
value="Some Toner for that <a href=''>laser printer</a>?">
Be careful of how you do the quotation marks. See how we used single quotes inside the double quotes?
The page in the above reference example does not exist. We don't sell toner.   :)

Note that people will not see the Upsell message until they start towards checkout.


[back to top]

Multi-item additions to cart

This FAQ details how to have more than one item in a single form, allowing shoppers to choose many items on a single page, then add them all to the cart with a single click.


Q9: Is it possible to set up multiple purchase transactions on each page, without the necessity of visiting the cart site on each one? We will be selling quite a number of small items, and we'd like our customers to be able to select a variety of them without constantly having to press the 'Continue Shopping' button on your server.

A9: Yes, we support that. The html coding is slightly different, but not difficult at all. Since we will have more than one "item" inside a single form, calling them all "item" would result in data overruns. So instead, call each separate item "item_something", with the something being a unique string.

All options work with this method also, with similar name changes. See the page: bread store for an example followed by a detailed explanation on how to do it.


Q10: My multi-item submision doesn't put all my selected products into the cart. Why?

A10: The most common reasons are:

1) Closing the form with </form> prematurely, thus excluding items on the other side of the tag.

2) Not using proper multi-item naming conventions such as:
Erroneously putting op2_abc INSIDE the item_abc variable:
<!-- bad code -->
<input type=hidden name=item_abc value="a-1358^abc^descrip^2.00^op2_abc">
<input type=text name=op2_abc>Enter Quantity
The above LOOKS right, but it is not. Since op2 for that item is named op2_abc, but since all multi-items are parsed down to a bunch of single items, you use the simple name op2 internally in the item variable.

Instead, use:
<!-- good code -->
<input type=hidden name=item_abc value="a-1358^abc^descrip^2.00^op2">
<input type=text name=op2_abc>Enter Quantity


Q11: How can I get one op variable to set the quantity for every "item" in the multi-item form?

A11: Use the "special" op variable op99. op99 is sort of a global op variable, and will apply as quantity for every item variable which names it in its quantity field.

<input type=hidden name=item_abc value="a-1358^abc^descrip^2.00^op99">
<input type=hidden name=item_xyz value="a-1358^xyz^descrip^2.00^op99">
<input type=text name=op99>Enter Quantity

The above would add BOTH items to the cart in the quantity the shopper enters.


Q12: I need to choose a color ONE time for all items in the form. Is there an op variable that will apply to the description for all items in a single form?

A12: Use the "special" op variable op98, which will have its value added to the description of all item variables in the form. It can save you a lot of bother in certain situations.


[back to top]

Creating Your Own Checkout Forms

Q13: The standard checkout forms offered in the account configuration form do not match up with my needs. Can I use my own somehow?

A13: Yes. We support up to ten totally custom forms. New users should become familiar with Americart and try to get by with the standard checkout form choices before tackling custom checkout forms.
There is more information about creating and uploading custom checkout forms at Take a brief look at the upload form, then follow the link to read the documentation at the top of the page.


Q14: Do the form files need to remain on my server all the time?

A14: The files only need to be on your server when you submit the custom checkout form upload form. When you submit the upload, the file URLs are "fetched" by Americart and installed into your account. You should always keep copies of them on your local system, at least, so you can update them as desired.


Q15: I don't understand the custom form documentation. Please explain further.

A15: Try looking at it like this. There are three files needed for a checkout form; the html form itself that the shopper fills out, the template you receive in email with the data filled in, and the slightly shorter template that the shopper receives via email as their detailed order acknowledgement.

The trick to having a custom form is to get Americart to use your files instead of (or in addition to) its own standard ones. On the documentation page for custom forms, we have a table which shows the three parts of each "standard" form.

You can download a trio of these, make some changes to them, and install them as a custom form with the title of your choice. That's really all there is to the concept. The rest is detail, in how data is passed between the three parts.


Q16: I uploaded four custom checkout forms to use in place of the standard forms, but yours still show up as selections. Why?

A16: Uploading a new form does not preclude using the system forms. You must reconfigure your cart and "de-select" the system forms you no longer need.


Q17: If I have five custom forms, and want to change only one, must I put in the info for all of my custom forms?

A17: Yes! At present, Americart updates ALL custom form files each time you submit the form upload page. Always make sure that they are all available on your website before uploading custom forms.


Q18: Americart refuses to copy my custom files off my website. The size always shows as zero or the wrong size. What's wrong?

A18: Try looking at those file URLs through your browser. If you can't see them, neither can Americart. Also, double-check your URLs. Keep in mind that unlike testing pages on your local disk drive, the three files must be web readable.


Q19: What does this =-blah_blah-= stuff mean in the email template files?

A19: The =- and -= are signals to Americart that inside the two is a variable name for which it should substitute data from either the html order form or the cart tracking data.

An example is:
Customer Email: =-email-=
Americart will replace =-email-= with the VALUE of the variable named "email" which the customer supplied in the html form. Variable names must match exactly between the file trio.


Q20: In my email file, can I put more than one variable on a line?

A20: Not presently, for coding efficiency reasons.


Q21: What is *CuR* in the email file examples?

A21: It is a trick to add the merchant currency symbol into the form. This is an international service, and we have people using money that is not in $. You could presumably just replace it with a $ or whatever since you already know what your currency is.


Q22: Some variables are in the email file that are not in the html file. What are these?

A22: These are reserved variables which contain information being tracked by Americart. You can move these around, or delete some of them if you don't care about their contents, but don't try to use those same variable names yourself, or your results will be unpredictable.


Q23: What are the variables for including the Order # and customer's IP address in the text of the e-mail received from my custom order form? I noticed you used those in your standard order pages.

A23: If you keep the "Received by Americart" text in the custom html form, the variables will be put in there automatically. The cart program sticks them in when it sees that text, but you can use them like any other variable if you want to:

In the emailed file only:
Order Number: =-ordernum-=

Customer IP#: =-customer_ip-=

[back to top]

Inventory control and quantity limiting

Q24: I want to limit a single shopper to only one of a given item per order. Can you do that?

A24: Yes. In the product "item" variable, add the prefix =MX1= to your partnumber field. Old number: xyz-1 New number: =MX1=xyz-1
That will limit the quantity in the cart of that item to one.


Q25: I am considering using Americart for my online store. However, I do have several concerns. I will be selling antique maps and prints, many of which are one of a kind. Is there some way I can control inventory so that I don't sell a product which is out of stock. Can I set some sort of stock setting to 6 and have Americart change that setting until it reaches 0 then post an out of stock sign? This is major concern to me, as I don't want to sell two items in 10 mins if I only own one.

A25: Americart does not support inventory control at this time. There are several good reasons to NOT implement inventory control in most cases.

1) Fraudulent or bogus orders

It often IS better to get those two orders in ten minutes for the same item you only have one of, so you can choose which shopper is the "least risky" to send it to. There's a lot of fraud out there. Be sure to read our Fraud FAQ.

Imagine missing selling that $1000 map to a legitimate collector just because a bogus order one hour earlier marked it as sold. Ouch!

2) Suggesting Alternates

If an item is ordered that is out of stock, you can often suggest to a shopper an alternate thing, or at least you'll have their email so you can contact them if you get another or similar item. If you just say "out of stock" you would not have gotten the order in the first place.

3) Partial Orders

Let's say the person wants three things. You've got two, but are out of stock on the third. Without inventory control, you get the order for all three items, and you can write to them about shipping a partial order which they probably accept. If they had known #3 wasn't around, you might have lost the order for the other two items.

4) Frustrated Shoppers

From a shopper's point of view, seeing the items available on your website, only to then add them to the cart and be told they are out of stock would be a frustrating experience. So, it's better to control inventory on the website itself that in the cart. Keep your site updated with what is currently available. Mark things "low stock" if need be, so shoppers might realize they might not get those items.

Are you convinced? Just be sure to put a disclaimer on your website that "In rare instances, some items may already be sold before the website reflects the change".

[back to top]

Gift Certificate Implementation

Q26: Any way to implement Gift Certificates or coupons in the shopping cart?

A26: We don't have a system that will handle huge volumes of gift certificates, but here is a way to do gift certificates that works quite well.


Have a page on your site where you offer "gift certificates" for sale. Sell them just like you would any "intangible" item, typically marking it free shipping:
<input type=hidden name=item value="a-1234^=SF==TF=gc^Gift Certificate^op2^1">
<select name=op2>
Name of person(s) who will redeem<input type=text name=op1>
The shopper adds as many certificates as they wish, and checks out normally. Be sure to tell them that they will receive an email from you with their gift certificate number(s).
Note that the above code example assumes that you don't charge tax on gift certificates at the time of sale, but charge it at the time of redemption.


At this point, you have an order with a gift certificate in it. You now assign a number to the gift certificate, a ten digit code, probably the first 8 digits of the order number, and the last two being anything from 01 to 99 depending on if they ordered more than one gift cert in the order. You could even use the first six, and have the next three be the amount (as a double check) and the last digit be 1 of x they ordered in that order.

You will need to keep track of these, so you can check them off as they are redeemed.


Email the shopper with the gift certificate number, and redemption instructions along with other appropriate text. Instruct them to forward the message to the gift certificate recipient. If you do it that way, the burden is off of you to deliver the certificate to a shopper supplied email address that may or may not be correct. The shopper, being kept in the loop, also knows that the delivery has taken place, since it came through them.


On your site, you will have a page where the recipient of the certificate can add the certificate number into the cart, where it will give them that amount off their order.

The code for doing that is basically our "flat" discount feature where a discount amount can be added to the cart. A twist on that is that we've set this certain way so only 10 digit discount codes are accepted. That cuts down on shoppers just entering something in and hoping for an amount off. :-)

Here is some code you might want to use:
<input type=hidden name=item
value="a-1234^=giftcertflat=^Gift Certificate^op2^1">
Gift Certificate Code Number: <input type=text name=op1>
<select name=op2>
Note that the number MUST be in op1 for the check of ten digits to work. Also, the price must be in op2, even if op2 is coded as a hidden variable instead of something the shopper can change.


When you get an order in which someone has redeemed a certificate, the cost to the shopper is reduced by that amount, but will not go below zero. What you need to do now is to look up the number they put in and make sure it's in your system/ledger, and that it hasn't already been redeemed. You then mark it off as redeemed. It would be prudent to send a brief email to the shopper that originally bought the certificate telling them that it was redeemed, and by who. That way, if it was someone bogus, they would no doubt fuss about it.


The above system requires you to at least keep a file in a text editor containing the gift certificate numbers, the amount, the person buying, and the person supposedly receiving. There's room for fraud if you are not diligent (consider yourself warned), and it would be tedious to have more than ten or so of these per day.

We may make some improvements to the system in the future, but this is one way to do it that works right now. Obviously you can change some things in how it is suggested above, like getting the recipient's email address with the certificate and sending them a notice yourself.

[back to top]

Discounting prices and having sales

This FAQ chapter covers generalized discounts. For discounts based on quantity of items purchased, visit our powerful quantity discount system

Q27: I want to have a sale. Can I take a percent off all my items without changing the prices on the entire website?

A27: Yes. There are two ways to do it. The first way will automatically discount everything by a given %. The second way requires the user to visit some page on your site to activate the discount.

Method 1:

Use our quantity discount system to do it. You only need to enter one code into the system to take a % off everything.
Use this code:
The above code means: for all partnumbers, in quantities of one or more, charge 90% of the price coded into the page. The power of method 1 is that your quantity discount can affect more than one item on your website.

new! For those of you that generate your website automatically, having a separate system for quantity discounts where the codes reside on other places than on the generated pages can be a problem. To facilitate that, we allow embedded quantity discount codes, which keeps all the data right on your webpage. Here are some examples.

Method 2:

You can add a tag to your cart display that will let shoppers turn on a "global" discount easily. Here is the code:
<a href="^%3Ddiscount%3D^any+text^5">
Click here</a> to enable our limited time special 5% off discount.
Make it nice and bold as a promotion should be. Note that we had to replace the = character with %3D. This is to conform to URL encoding standards when talking to the cart via text link.
A more human readable version if POSTing to the cart is:
<form action= method=POST>
<input type=hidden name=item value="a-1358^=discount=^your discount^5">
<input type=submit value="Click to enable 5% discount">
The POST method is a lot of code to get into that one box in the config form, although it will go in if you get rid of the newline chars.


Q28: I wanted to offer a flat amount off, not a percent. Can I do that instead?

A28: Yes. Just use =discountflat= instead of =discount= in the code above, and the 10 in the above example would take $10.00 off. (remember, the link method has %3D instead of = )


Q29: I want to offer a discount page or coupon to my members. Can I?

A29: Yes. That way you can let THEM know that page URL where the discount button is but not tell the public at large. We have an example of that here


Q30: I want to offer gift certificates from my site. I am able to do this easily through the discountflat option. I also offer member discounts of 10% using the discount option. It does not appear that a member could get 10% off of their order using a gift certificate. This could be a problem. Is there a fix? It appears that as soon as a member logs their gift certificate into the cart it replaces their member discount. What can I do to get around this?

A30: As you've surmised, one discount replaces another in the current revision of the shopping cart. We advise that you convert your gift to be "Negative Price" items, so you can have as many as you wish.
<input type=hidden name=item value="a-1358^=MX1=GC5^$5 Gift Certificate^-5.00^1">

You can use the =MX1= tag in to limit the qty to one.

[back to top]

Interfacing your product data to Americart

Q31: I keep all my product data in MS Excel and Access, and it's a pain to create web pages for all that data. Can you help?

A31: Yes. We support a VERY easy method to build web pages detailing your products that you can incorporate right into your existing website. It works with virtually ANY database program/spreadsheet that can save data as type "csv". (Almost all do)
You can also create a csv file with a plain text editor.

To use this powerful feature, you upload your data to our server, we process it and send you back a .zip file with the web pages. You ftp them to your site and link them in. Obviously this is a simplistic overview. Full details are at
The above page has more Q&A in it along with the documentation on how to use the feature.

[back to top]

Adding our product search engine to your site

Q32: I've got a lot of products on my site and need a search engine for people to shop them efficiently. Can you help?

A32: Yes. We support a VERY easy method to build a search database of your products that can be searched, with results returned in a format ready to add to the cart! It's part of our database interface suite of tools.

You just need to have product data in the csv format (comma separated fields). The CSV file can be created from virtually ANY database program/spreadsheet that can save data as type "csv". (Almost all do)

You can also create a csv file with a plain text editor.

To use this powerful feature, you upload your data to our server, we process it and save it in a database. You then add the search engine input form anywhere on your site that you wish.

Obviously this is a simplified overview. Please review the full details at
The above page has more Q&A in it along with the documentation on how to use the feature.

You can see and try out a sample search engine interface at
Hint: The store is for video games, so search for "Mario"!

[back to top]

< Back to FAQ’s

Adding a discount for orders over a set amount

Q33: I'd like to offer a discount when the order total reaches a certain amount.  Can I do that?

A33: Yes.  In the "Advanced Settings (optional)" section of your account setup, you will find the paragraph "Discount section".

Here you can enter the threshold that your discount will take effect.  Want to offer a 10% discount for any order greater than or equal $100.00?  Enter 100.00 in the space "Enter the order amount threshold".  Do not use the $ in this field.

In the space provided for the discount amount enter "P.10".

You've just given every shopper with an order of $100.00 or more a 10% discount on their order total.

I'd like to give a $10.00 discount instead of 10%, how do I do that?

Easy, instead of entering "P.10" just enter 10.00 (leave off the $) now that same order will get a $10.00 discount

That's great, but I'd like to encourage shoppers to spend more, can I have more then one threshold?

Yes you can, separate each threshold and discount (either percentage of flat amount) with the
| pipe character. (hold the shift key and press \)

To add a 15% discount for orders greater than $200.00, your threshold would be 100.00|200.00, and the discount amount would be P.10|P.15

[back to top]

< Back to FAQ’s

Setting up coupon codes

Q34: I'd like to offer coupon codes, which my shoppers can redeem for discounts.  Can you help?

A34: Yes.  After logging into your Control Panel, look for "Coupon Codes" under the "Discounts" menu.  This will take you to a list of any previously set up codes.

Your codes can be redeemed for three different types of discounts:

  • Flat amount taken off the subtotal
  • Percentage deducted from the subtotal
  • Free shipping

As soon as one of your coupons is active, a code entry form will appear in the cart display.  No additional setup is required.

*** NOTE *** if we have previously set up coupon codes you must contact us so that we can convert your existing discounts to the new sytem.

[back to top]

< Back to FAQ’s