TutorialPay per word with starting price for Gravity Forms

With the gwp_word_count merge tag modifier for Gravity Forms it is possible to use the word count value of a text field in a formula. This way you can create a flexible Pay per Word calculation based on the amount of words in a text field.

The gwp_word_count modifier will become available after installing the GravityWP – Advanced Merge Tags Add-On.

In this tutorial we will build a pay per word form for a news paper which sells text ads, with a base price of $25,- and $0.75 per word. Here is a step by step walkthrough:

Step 1: Create a new form with 3 fields:

Screenshot of Paragraph Text field and Number field buttons in the form-editor.

Step 2: Assign the following labels to each field:

  • Advertisement Text
  • Number of words
  • Total Price
Screenshot of the Field Label setting in the Gravity Forms editor.

Step 3: Set up the word counter

Select the ‘Number of words’ field and tick the ‘Enable Calculation’ option like so:

Screenshot of 'Enable Calculation' setting and the formula editor, with as formula: {Advertisement Text:1:gwp_word_count}

A formula field appears. Here we can enter merge tags and basic arithmetic operators to create calculations. The merge tags are the variables which represent a field value. For example:

{Advertisement Text:1}

Normally it would make no sense to add the merge tag of a text field here, as you can’t calculate with non-numeric values. That’s why we also add a merge tag modifier to the merge tag, in this case the ‘gwp_word_count’ modifier:

{Advertisement Text:1:gwp_word_count}

This modifier ensures the merge tag does not return text, but the number of words instead. This advanced merge tag modifier is only available if you have the Advanced Merge Tags addon installed and active.

Now you have a field word count itself ready. Now we will need to address the actual pay per word calculation.

Step 4: calculate the price based on the amount of words

For this step, we edit the Number field we created with the ‘Total Price’ label. Instead of the default format (9,999.99), we select the Currency format. Also, we enable the calculation for this field.

In this example, we will use the number 25 as the starting price. You can replace this number with any value of your choice or remove it entirely. Add a plus sign (+) after the number to indicate that it will be added to the price.

The next step is to include the merge tag for the words. To do this, click on “Insert Merge Tag” and select the name of the previous number field that we used to calculate the word count.

Next, we will use 0.75 for the price per word. After the merge tag, type “* 0.75” to indicate that each word should be multiplied by 0.75 and added to the product price. This means that each word adds $0.75 to the price. Make sure to use a dot (.) as the decimal separator, not a comma. The settings should look like this:

Screenshot of 'Enable Calculation' setting and the formula editor, with as formula: 25  + {Number of words:11} *  0.75

Now we are ready to go. Save your form and try it out.

Read more tutorials about GravityWP BV

GravityWP develops add-ons to collect and manage your data better.
All tutorials GravityWP BV