Introduction

Welcome to the brand new documentation for all things ClickFix!

ClickFix's features are divided in multiple categories :

  • on-page Shortcodes, that will allow you to customize your Ontraport Pages and transform your fields into powerful inputs
  • the Magic Hooks, that will help you to un-Zap your life and do in one webhook what would otherwise take a complex setup (we try to maintain a 72h turnover for adding your requests in, you can drop a request here)
  • our Ontra-App Toolkit, that will let you use data from your Custom Objects on the front end, and build internal systems via internal Ontra-Apps for your teams and powerful external Ontra-Apps to service your clients
  • our deep Integrations with external applications
  • our Payments solutions, for businesses who need more payment methods, more currencies or simply more flexibility to built the Cart System your business really needs
  • and finally a few Other Features & our different Plugins

This documentation contains detailed information about each of those features and general information about best practices.

To the right (grey) side you will find Examples, Demos, Case Studies and Downloadable Templates pertaining to each of those features.

The 🆓/➰/💡/♾️ symbols indicate what type of ClickFix account is required to use a specific feature.

🆓 : Our Free Account Features

➰: Our Essential Account Features

💡 : Our Marketer Account Features

♾️: Our Pro Account Features

You can upgrade your account anytime by clicking here.

This documentation is a work in progress, so please join the Facebook Group and let us know how to improve it!

Enjoy,

Getting Started

How to use this documentation

What you see What you need to do
%keyword% Remove the two % and replace keyword with the proper value, the source of which will be explained to you within the documentation.
%grab_your_token% This will be a clickable link which will direct you to the ClickFix app so you can get your secure token or generate one if necessary. Note that this link will open in a new tab, leaving this documentation open.
%target_field% Replace this with the field you want to target on your page or form.

You can target a field using its ID by using the prefix # like this : #%field_id%.

You can also use the field name %field_name%

A #%field_id% is unique, wheras if you have multiple email fields on a page, they will have the same %field_name%.

But they will have different #%field_id%, and so you should use the #%field_id% if you want to hide only one of those email fields.

You can save yourself some time by using our Free Chrome Plugin to find your #%field_id% or %field_name%.
#%trigger.anchor% Replace this with the anchor button that will trigger your action. Note that in Ontraport, in order to publish a #%trigger.anchor% you must insert a dot "." in the middle of it.

So if you build an anchor that will hide a menu for example, it could look like this #hide.menu.
%[do_something]% Replace this with the Shortcode you want to execute.

Unless stated specifically, you can also add a %keyword% in place (or along) of a %[do_something]%, which will display when the action is triggered.

or button that will trigger your action. Note that in Ontraport, in order to publish a #%trigger.anchor% you must insert a dot "." in the middle of it.

So if you build a Conditional System to display different Page Elements based off a Dropdown's Value, %[do_something]% is what happens when the Condition is True.
Required. If a parameter is not indicated as Required., then it will likely have a (Default) value.

In any case, a non-Required. parameter can be considered Optional.

Training

In this section you will find Training Videos or links to Ressources and Case Studies related to a specific Feature.

If this is your first time using ClickFix, we advise you watch the following videos :

Examples

This box will contain Example uses of our Features.

Followed by an explanation of what is happening.

Live Demos

Here you will fill Live Demos, generally Ontraport Pages where you can see our Features in action.

You can see most of our Demos in the Demo Dashboard

On our Live Demos, remember that you can always Right Click -> View Source to see the Shortcodes and how we used them (they should be right at the top of the Source).

Register your Domain Names

If you intend to use any of our Shortcode on your pages, you must first register your domain name with us.

To do so, click here once you're logged into ClickFix : https://app.clickfix.io/settings/domains/

Note that each ClickFix Plan has its own limit regarding how many domains you are allowed to register with us. You can increase that number by going into your account settings and upgrading your account.

Enter Your Ontraport Keys

(If you are on a Free Account you may skip this part)

If you intend to use any of our Shortcode on your pages, you must first register your Ontraport API keys with us.

To do so, click here once you're logged into ClickFix : https://app.clickfix.io/settings/api-keys/

Note that on the Basic Plan, you can only work with one Ontraport Account, which we monitor by only allowing you to use one set of Ontraport API Keys at a time.

You can increase that number by going into your account settings and upgrading your account.

Get Help

If you cannot find an answer from your question or you notice a bug or a mistake in this documentation, please log into https://app.clickfix.io and connect to the Help Center.

Shortcodes 🆓/➰/💡/♾️

Shortcodes are used as you would use Javascript code.

You can use them within the headers of your Ontraport Pages (or more generally in most places where you can add Javascript), but you can also just add them almost anywhere on your page (links, titles, text...).

To use Shortcodes on your Ontraport Pages, you must first add this import Script to the Header of your Ontraport Page :

<script src="https://klikfx.com/js/1"></script>

After making sure the domain you want to use the Shortcodes on has been entered here :

https://app.clickfix.io/settings/domains/

Note that even though the Shortcodes have been built for Ontraport Pages, they should work pretty much anywhere you can insert the <script src="https://klikfx.com/js/1"></script> import script.

Pro Tip :
You can use an invisible <div> to avoid your Visitors from ever seeing our Shortcodes :

<script src="https://klikfx.com/js/1"></script>
<div style="display:none;">
%Add Your Shortcodes Here%
</div>

Conditions 🆓/➰/💡/♾️

Conditions Shortcodes are similar to Campaign Triggers in the sense that they allow you to execute actions upon a thing Happening or something becoming True / a Condition being Validated.

Conditions Shortcodes will always have an Opening [If] and a closing [/If] Shortcode.

[IfAnchor]

Simple :

[IfAnchor #%trigger.anchor%]
%[do_something]%
%keyword%
[/IfAnchor]

Advanced :

[IfAnchor #%trigger.$variable%]
%[do_something]%
$%variable%
[/IfAnchor]


This shortcode will Trigger one or more Actions - %[do_something]% - and/or display a String - %keyword%- based off a #%trigger.anchor% being Triggered.

You can also use it with WildCards with the help of the $ sign (see Examples and Demos for more information on this Feature).

An Anchor can be Triggered :

Please note that :

  • This Shortcode requires an Opening Shortcode, [IfAnchor], and a Closing Shortcode, [/IfAnchor]
  • This Shortcode doesn't require line-breaks. You can do

    [IfAnchor][do_something][/IfAnchor]

    as well as

    [IfAnchor]
    [do_something]
    [/IfAnchor]

  • If you send a user to a page and your link contains an Anchor, it will get Triggered upon the page being loaded and it will execute
  • It is generally better not to use [IfAnchor] with a #%block_id% as your #%trigger.anchor% since the page may scroll before %[do_something]% has been fully executed, which can lead to odd page behaviour if the Block was initially hidden. In this case, we would use a [Redirect #%block_id%] right before our closing [/IfAnchor]

Attribute Type Description
#%trigger.anchor% or #%trigger.$variable% #Anchor Replace this with the Anchor Link that will Trigger your Action. Note that in Ontraport, in order to publish a #%trigger.anchor% you must insert a dot "." in the middle of it.

So if you build an anchor that will hide a menu for example, it could look like this #hide.menu.

Required.
%[do_something]% Shortcode Will Execute your %[do_something]% Shortcode.
%keyword% String (Word or Sentence) Will display the %keyword% upon your [IfAnchor] being Triggered.
$%variable% String Will display the $%variable%'s Value upon your [IfAnchor] being Triggered.

Examples

[IfAnchor #hide.block]
[HideBlock #o7dff3cad25e6]
[/IfAnchor]

Will hide the Block with id #o7dff3cad25e6 if someone triggers the Anchor #hide.block.

[IfAnchor #show.message]
Hello World
[/IfAnchor]

Will display "Hello World" if someone triggers the Anchor #show.message.

[IfAnchor #select.$state]
[FillField state with $state]
[/IfAnchor]

If I Trigger #select.Nevada, my State will be set to Nevada.

If I Trigger #select.New%20Hampshire, my State will be set to New Hampshire.

[IfAnchor #add.$number][Calc f1234=f1234+$number][/IfAnchor]

If I Trigger #add.1, it will add '1' to the Value of the Field whose Field Name is f1234.

[IfBump]

[IfBump %bump_id% %is/not% checked]
%[do_something]%
%keyword%
[/IfBump]


This shortcode will Trigger one or more Actions - %[do_something]% - and/or display a String - %keyword%- based off your %bump_id% being checked or not.

Please note that :

  • This Shortcode is "Always-On", meaning if you decide to Show a Block upon a Bump being Checked, then the Block will stay hidden until the Bump is actually Checked
  • This Shortcode requires an Opening Shortcode, [IfBump, and a Closing Shortcode, [/IfBump]
  • This Shortcode doesn't require line-breaks. You can do

    [IfBump][do_something][/IfBump]

    as well as

    [IfBump]
    [do_something]
    [/IfBump]


Attribute Type Description
%bump_id% ID Replace this with the ID of the Bump that will Trigger your Action.

You can save yourself some time by using our Free Chrome Plugin to find your Bump's ID.

Required.
%is/not% is or not Pick if you want to Trigger you Action when the Bump is Active (is checked) or when it is Inactive (not checked).

Required.
%[do_something]% Shortcode Will Execute your %[do_something]% Shortcode.
%keyword% String (Word or Sentence) Will display the %keyword% upon your [IfBump] being Checked or Not.

Examples

[IfFBump 33 is checked]
[ShowElement 55]
[/IfFBump]

Will display the Element with ID 55 uppon the Bump being checked.

[IfFBump 33 not checked][HideElement 55][/IfFBump]

Will do the exact same thing as the first example.

[IfField]

[IfField %target_field% %operator% %target_value_01%,%target_value_02%]
%[do_something]%
%keyword%
[/IfField]


This shortcode will Trigger one or more Actions - %[do_something]% - and/or display a String - %keyword%- based off your %target_field% and your %target_value% being Compared via your %operator%.

This Shortcode can be used for very simple or very complex Comparisons. See our Examples to understand how to use it.


Also please note that :

  • This Shortcode is "Always-On", meaning if you decide to Show a Block upon a Field having the Value, then the Block will stay hidden until the Field actually has the Value
  • This Shortcode requires an Opening Shortcode, [IfField], and a Closing Shortcode, [/IfField]
  • This Shortcode doesn't require line-breaks. You can do

    [IfField][do_something][/IfField]

    as well as

    [IfField]
    [do_something]
    [/IfField]


Attribute Type Description
%target_field% #%field_id% or %field_name% Because the same Field will have the same name if it is on the page multiple times, you may target a specific Field by targeting its #%field_id%.

If you use %field_name% and multiple Fields with the same name are found on the page, only the first Field will be Monitored.

You can save yourself some time by using our Free Chrome Plugin to find your Field's id or name.
%operator%

Required.
is %target_field% is equal to %target_value%
not %target_field% is not equal to %target_value%
> %target_field% is more than %target_value%
< %target_field% is less than %target_value%
>= %target_field% is more than or equal to %target_value%
<= %target_field% is less than or equal to%target_value%
is checked/unchecked %target_field% is a checkbox and it is checked or unchecked
OR Use OR to separate multiple combinations of %target_field% %operator% %target_value% if you want for only one of them to have to be Validated.
AND Use AND to separate multiple combinations of %target_field% %operator% %target_value% if you want for all them to have to be Validated. OR takes precedence over AND.
() Use brackets to make even more complex conditions.
%target_value_0X% Can be pretty much anything. Check the examples for more information.
Your target value can be surrounded by single quotes ' or double quotes ".
If your %target_field% is a Dropdown, you can use either Value or Label as %target_value%.
You can have a single %target_valueX%, or multiple separated by commas ,
Required.
%[do_something]% Shortcode Will Execute your %[do_something]% Shortcode upon your [IfField] being Validated.
%keyword% String (Word or Sentence) Will display the %keyword% upon your [IfField] being Validated.

Examples

[HideField #o39626ddbd9db-confirm_email]
[IfField email not '']
[ShowField #o39626ddbd9db-confirm_email]
[/IfField]

Will first hide the confirm_email Field so that it is displayed only once the Visitor has entered his Email Address in the Email Field.

[IfField country not 'United States',Australia,Canada]
[FillField state with "My State is not listed”]
[HideField state]
[/IfField]

Will Hide and Fill the state Field if the selected country is not United States, Australia or Canada.

[IfField f1631 >= 3 and f1631 <= 5]
This number is between 3 & 5.
[/IfField] 

If the Numeric Field “f1631” is greater than or equal to 3, and less than or equal to 5, then we display "This number is between 3 & 5".

[IfField (lastname is Ray OR firstname is Moon) AND country not '' OR firstname is Rochelle AND email not ''] 
Your Last Name is Ray or or your Last Name is Moon, and you have selected a Country. 
Either that or your First Name is Rochelle and you have entered an email address.
[/IfField]

You can go as far as you want with complex conditions, using (), and and or.

Page Manipulation 🆓

Page Manipulation Shortcodes can be used to hide (and then display again) parts of your Ontraport Pages :

  • Blocks
  • Columns
  • Elements
  • Fields

Covering everything but Rows, which we cannot identify individually.

(There is a Feature Request with Ontraport here).

Page Manipulation Shortcodes can :

  • Be used in combination with our Conditions Shortcodes.
  • Be combined together (for better or worst. For example if you hide a Column that contains an Element and then you try to show that Element, the surrounding Column being hidden, your Element will not display).

Live Demos

Simple Page Manipulation using :

[HideBlock][ShowBlock] 
[HideColumn][ShowColumn] 
[HideElement][ShowElement] 
[HideField][ShowField]
[IfAnchor]
[Redirect]

Right Click -> View Source to see the Shortcodes and how we used them.

[HideBlock][ShowBlock]

[HideBlock #%id_of_target_block_01%,#%id_of_target_block_02%]


This shortcode will show or hide a block or a series of blocks on an Ontraport Page.


Attribute Type Description
%id_of_target_block_0X% ID The ID of the Block you want to hide.

You can save yourself some time by using our Free Chrome Plugin to find your Block's ID.

Required.

Examples

[HideBlock #o9a6611924513]

Will hide the blocks with id #o9a6611924513.

[ShowBlock #ob8099e4c466e]

Will show the block with id #ob8099e4c466e (which must have previously been hidden using [HideBlock #ob8099e4c466e].

[HideBlock #ob8099e4c466e,#o9a6611924513][ShowBlock #o76aaaa4513]

Will hide the blocks with ids #ob8099e4c466e and #o9a6611924513, and will show the block with id #o76aaaa4513.

[HideColumn][ShowColumn]

[HideColumn %id_of_column_01%,%id_of_column_02% in #%block_id%]
[ShowColumn %id_of_column_01%,%id_of_column_02% in #%block_id%]


This shortcode will show or hide a column or a series of column, within a specific block, on an Ontraport Page.

NOTE: We recommend using the [ShowElement]/[HideElement] Shortcodes whenever possible as HideColumn has a tendency to break page formatting unless used on a single column row.


Attribute Type Description
%id_of_column_0X% ID The ID of the column you want to hide.

You can save yourself some time by using our Free Chrome Plugin to find your Column's ID.

Required.
in #%block_id% ID Because columns can have the same ID if they are in different Blocks, you may target a specific column by adding this to your Shortcode.

Examples

[HideColumn 8]

Will hide the column with id 8.

[ShowColumn 1]

Will show the column with id 1. (which must have previously been hidden using [HideColumn 1].

[HideColumn 1,2,3,4 in #o76aaaa4513][ShowColumn 5 in #o76aaaa4513]

Will show the columns with ids 1,2,3 and 4 and will hide the column with id 5 within the block with id #o76aaaa4513.

[HideElement][ShowElement]

[HideElement %id_of_element_01%,%id_of_element_02% in #%block_id%]
[ShowElement %id_of_element_01%,%id_of_element_02% in #%block_id%]


This Shortcode will show or hide an Element or a series of Elements, within a specific Block, on an Ontraport Page.


Attribute Type Description
%id_of_element_0X% ID The id of the Element you want to hide.

You can save yourself some time by using our Free Chrome Plugin to find your Element's ID.

Required.
in #%block_id% ID Because Elements can have the same id if they are in different Blocks, you may target a specific Element by adding this to your Shortcode.

Examples

[HideElement 8]

Will hide the Element with id 8.

[ShowElement 1]

Will show the Element with id 1. (which must have previously been hidden using [HideElement 1].

[HideElement 1,2,3,4 in #o76aaaa4513][ShowElement 5 in #o76aaaa4513]

Will show the Elements with ids 1,2,3 and 4 and will hide the Element with id 5 within the block with id #o76aaaa4513.

[HideField][ShowField]

[HideField %target_field_01%,%target_field_02%]
[ShowField %target_field_01%,%target_field_02%]


This Shortcode will show or hide a Field or a series of Fields on an Ontraport Page on an Ontraport Form.


Attribute Type Description
%target_field_0X% #%field_id% or %field_name% Because the same Field will have the same name if it is on the page multiple times, you may target a specific Field by targeting its #%field_id%.

If you use %field_name% and multiple Fields with the same name are found on the page, all the Fields will be displayed or shown.

You can save yourself some time by using our Free Chrome Plugin to find your Field's id or name.

Required.

Examples

[HideField email]

Will hide the Field with name email (the email field, basically).

[ShowField f1345]

Will show the Field with name f1345 (which must have previously been hidden using [HideField f1345].

[HideField #o76aaaa4513-f1345,#o76aaaa4513-f1359][ShowField email]

Will show the unique Fields with ids #o76aaaa4513-f1345 and #o76aaaa4513-f1359, and will hide all the Fields with name email.

[Tabs]

[Tabs #%id_of_target_block_01%,#%id_of_target_block_02%]


This Shortcode will create a system of Tabs from your Blocks automatically, meaning it will hide and show the Blocks based on the Anchor clicked.

You will then simply need to link buttons to #%id_of_target_block_01% and #%id_of_target_block_02% so your Visitors can use the Tabs feature.

This Shortcode will hide all the Blocks that make up the Tabs by default, so if you want to start with a specific Block displayed on page load, you can do so by adding a [HideBlock #%id_of_target_block%] that immediately follows your [Tabs] Shortcode.

You can target as many Tabs as you want in your [Tabs] Shortcode.


Attribute Type Description
#%id_of_target_block_0X% ID The IDs of the different Blocks you want to build into a Tabs system.

You can save yourself some time by using our Free Chrome Plugin to find your Block's ID.

Required.

Examples @Adam : you can copy the #Shortcode #PageManipulation template and turn each function in the into a tab (note : easy way to do this is to clone the whole block 4 times then delete what you don't need. Keep in mind field IDs will change)

[Tabs #o9a6611924513,#ob8099e4c466e]

Will hide the Blocks with ids #o9a6611924513 and #ob8099e4c466e.

If a user presses a Button linking to a #o9a6611924513, that Block will appear.

If a user then presses #ob8099e4c466e, it will hide the other block (#o9a6611924513) and display the block #ob8099e4c466e in its stead.

[HideBlock #o9a6611924513,#ob8099e4c466e]

[IfAnchor #o9a6611924513]
[HideBlock #ob8099e4c466e]
[ShowBlock #o9a6611924513]
[/IfAnchor]

[IfAnchor #ob8099e4c466e]
[HideBlock #o9a6611924513]
[ShowBlock #ob8099e4c466e]
[/IfAnchor] 

Is the equivalent of the previous example, [Tabs #o9a6611924513,#ob8099e4c466e].

Data Manipulation 🆓/➰/💡/♾️

[Calc]

Parameters

Name Description Example
fields List of fields & variables, separated with commas my_test_field,$test_variable
calculation A calculation, can include fields, variables and numbers ((field + $variable) / 25) - $var2

[Calc %target_field_01%,$%variable_01%=%target_field_02% +|-|*|/ $%variable_02% display]


This shortcode allows you to build anything from very basic calculations (increment or decrement a field when a button is clicked for example) to highly complex quote forms.


Attribute Type Description
%target_field_0X% #%field_id% or %field_name% Because the same Field will have the same name if it is on the page multiple times, you may target a specific Field by targeting its #%field_id%.

If you use %field_name% and multiple Fields with the same name are found on the page, all the Fields will be displayed or shown.

You can save yourself some time by using our Free Chrome Plugin to find your Field's id or name.
$%variable_0X% Variable A Variable of your choice. Basically a way to give a Name to a Value. This Name can contain the underscore '_' symbol.
display Keyword If you insert this Keyword at the end of your Shortcode, it will display the value set by the [Calc].

Please note that :

  • you can use Text, Long Text and Dropdowns fields with this functionnality. Obviously, if you do so, calculus won't work for those Fields and Variables.
  • Variables must always start with the special character $ The only special character allowed in the Variable Name is an Underscore ( _ )
  • every Field and Variable that does not have a value will be considered Zero

Examples

[Calc $myvar1=5]
[Calc f1234,$myvar2=f5678+$myvar1]

Will Fill the f1234 Field with 5 + the value of the field f5678.

[EncryptBeforeSubmit]

[EncryptBeforeSubmit fields=%target_field_01%,%target_field_02% form=#%id_of_target_block% key=%public_key%]


This shortcode will Encrypt a Field before it is sent to you.

You can use this to let your Visitors submit sensitive data without it ever being sent/stored unencrypted over the Internet.

In Ontraport you will only see an Encrypted version of your visitor's Input, and you will need to use your %private_key% in order to read it in the future (see below).


Attribute Type Description
%target_field_0X% #%field_id% or %field_name% Because the same Field will have the same name if it is on the page multiple times, you may target a specific Field by targeting its #%field_id%.

If you use %field_name% and multiple Fields with the same name are found on the page, all the Fields will be displayed or shown.

You can save yourself some time by using our Free Chrome Plugin to find your Field's id or name.

Required.
%id_of_target_block% ID The ID of the Block that contains the fields you want to Encrypt Before Submit.

You can save yourself some time by using our Free Chrome Plugin to find your Block's ID.
%public_key% & %private_key% RSA Keys You will need to generate your keys here : Online RSA Key Generator. We advise you to use an Encryption of at least 512bits. Leave the "Async" box ticked. You can watch our training video to the right for more instructions regarding how to do this. Remember to save your %private_key% very privately.

Your %public_key% is the only thing you should be sharing.

Please note that :

  • Encrypted content can take a lot of space compared to an Unencrypted String, so we advise you to use Long Fields
  • Your RSA Keys will look similar to this :
-----BEGIN PUBLIC KEY-----
MFswDQYJKoZIhvcNAQEBBQADSgAwRwJAcEzl7YR3bK7A8r8JlgH3SnDhpSU532Rl
xkPPLzpUpAlq2t6r3aYqX7DKQoKPGA/yvL25efvGQj3APrhWkZZCQwIDAQAB
-----END PUBLIC KEY-----

Remember to remove the top -----BEGIN PUBLIC KEY----- and the bottom -----END PUBLIC KEY----- so you can replace %public_key% with the Key itself and only that (see examples).

  • To Decrypt the content, you can use the same tool you used to generate your keys. Simply replace the Private Key with yours.
  • We can automate this process for you if you tell us how you want it. Just Contact Us and let us know.

Examples

[EncryptBeforeSubmit fields=firstname,lastname key=MFswDQYJKoZIhvcNAQEBBQADSgAwRwJAcEzl7YR3bK7A8r8JlgH3SnDhpSU532RlxkPPLzpUpAlq2t6r3aYqX7DKQoKPGA/yvL25efvGQj3APrhWkZZCQwIDAQAB]

Will Encrypt First Name and Last Name before the form is submitted.

Live Demo

@ComingSoon

Encrypt a message before it's sent to you.

Right Click -> View Source to see the Shortcodes and how we used them.

[SyncFields]

[SyncFields %target_field_01%,%target_field_02%]


This shortcode will Synchronize the Value of Fields with the same Field Name on a page.

You can use this if you want to build a One Page Survey for example, or a One Page, Mulsti Step checkout form with multiple Form Submissions (the data is sent to Ontraport even if they don't complete every step of the Form) through our MultiStep Shortcode.

Note that you can just add [SynchFields] to your page to Synchronize all the Fields of all your Forms, but doing this might noticeably slow down your page if you have too many Fields / Forms.


Attribute Type Description
%target_field_0X% %field_name% You can save yourself some time by using our Free Chrome Plugin to find your Field's name.

Examples

[SyncFields]

Will Synchronize all your Form Fields on an Ontraport Page.

[SyncFields email,firstname,lastname]

If you have more than one Email, First Name and Last Name Field on the page, they will be synchronized with each other (all Email Fields will have the same value, all the First Name Fields will have the same value, and so on...).

Live Demos

@ComingSoon

Two Synchronized Forms

Right Click -> View Source to see the Shortcodes and how we used them.

Better Fields ➰/💡/♾️

[GetAddress]

[GetAddress %target_field% hide=%hide% language=%language% gkey=%google_key%]


This shortcode will let your visitors give you their physical address using just one visible search field, and prefilling the default Ontraport address fields using the searched address.

Note that if you use a Long Text type Field (such as Notes), your Browser will throw a JavaScript Error, but you can dismiss it, it'll work like a charm.


Attribute Type / Values Description
%target_field% #%field_id% or %field_name% You must add a field to the page which will be used as a searchbox by your customer. This field will also be populated with the full address.

Required.
%hide% no Will not hide the default Ontraport address fields from your Page (you can still hide them using the [HideField] Shortcode).
yes
Default.
Will automatically hide all the default Ontraport address fields from your Ontraport Page.
%language% ISO 639-1 Language Code

en (Default)
Choose a language you wish to use for the search box.
%google_key% Key Please follow the instructions below.

Required.
How to get your Google Map Key

Step 1

Go to the Google Developer Console.

Step 2

Click on “Select Project”. If you have already created a Google Project before, one will automatically be seclected (in this capture, it’s “My Project”).

getaddress_01.png

Step 3

Click on "New Project". You'll be required to enter a name.

getaddress_02.png

Step 4

Once you've picked a name, you'll see a notification at the top right corner while your project is being created.

Once that's done, go back to Step 2 and select your newly created project.

Step 5

Click on “+ ENABLE APIS AND SERVICES”.

getaddress_03.png

Step 6

Search for "Places API" and click "Enable". Then do the same for "Maps JavaScript API".

Step 7

After enabling the Places API, you’ll see the Places API management dashboard. Click on the “Credentials” tab.

getaddress_04.png

Step 8

Click on "To view all credentials or create new credentials visit Credentials in APIs & Services".

getaddress_05.png

Step 9

Click on “Create Credentials” -> “API Key”.

Step 10

Bravo, you now have your API Key which you can use in place of %google_key% in your [GetAddress] shortcodes.

Note that you have to create a billing account and add a payment method to be able to use the Places API.

To do so go to https://console.cloud.google.com/, click on “Get started for free” and fill up the needed information.

As of September 2019 this feature is being offered free of charge by Google.

You can learn more about Google's Pricing here :
https://developers.google.com/places/web-service/usage-and-billing#basic-data

Live Demos

Simple Address Search Field

Right Click -> View Source to see the Shortcodes and how we used them.

[QrScan]

[QrScan #%trigger.anchor% %redirect_url%={QR}]


This shortcode will allow you to pop up a QR-Code scanner through a button linking to a #%trigger.anchor%, allowing your visitor to scan it through their webcam or their phone's camera.

Upon succesful scanning, the visitor will then be automatically redirect to %redirect_url%, in which you can use {QR} to insert the QR code's data.

You can have as many different [QrScan] Shortcodes as you want on a page, allowing you to have multiple buttons => multiple redirection urls => multiple functions.

Note that you can use Magic Hooks to turn a string into a QR-Code.

This combined with our other tools should let you build very complex QR Systems, covering most use cases from Ticketing to Inventory Management or even Order Tracking. Contact us if you need help.


Attribute Type / Values Description
#%trigger.anchor% Replace this with the anchor button that will trigger the QR-Code Scanner. Note that in Ontraport, in order to publish a #%trigger.anchor% you must insert a dot "." in the middle of it. So if you build an anchor that will hide a menu for example, it could look like this #hide.menu.

Required.
%redirect_url%
{QR} Use as-is Add {QR} anywhere in your %redirect_url% to use the scanned data.

Note that you can, if you want, use only a %redirect_url% or the {QR} reference, but at least one of them is Required.

Examples

[QrScan #go.to.login https://app.ontraport.com]

Will let you scan a QR-Code and it will then redirect the user to the Ontraport Login Page. No, it doesn't make any sense to do this.

[QrScan #redirect.qr {QR}]

Will redirect the visitor directly to the scanned data.

[QrScan #search.google https://google.com?q={QR}]

Will search Google.Com for the scanned data.

Live Demos

Three Buttons, Three QR Scanners, Three Functionnalities

Right Click -> View Source to see the Shortcodes and how we used them.

[Signature]

[Signature %target_field%]


This shortcode will transform the target field into a drawing box, allowing your users to sign, either with their mouse or with their finger if they are on a touchscreen.

The signature image will be encoded and stored as a "data://" String that can be used as image src attribute or any place where image url goes. (@Adam : test if it's indeed usable as an image url now when creating the simple demo, also test email)

You can use this image by simply calling the value of the field in place of the image url in an email or an Ontraport Page.


Attribute Type / Values Description
%target_field% #%field_id% or %field_name% You must add a field to the page which will be used as a signature drawing box by your customer. This field will also be populated with the signature and saved upon form submission.

Must be a Long Text field in order to store the (long) signature as a String.

Required.

Live Demos

Simple Signature field

Contract Signature Portal

Right Click -> View Source to see the Shortcodes and how we used them.

[Scheduling]

Our Scheduling Better Field is a set of Shortcodes and Webhooks that will let you build very simple or infinitely complex Appointment Booking Setups.

Log an event into your calendar

This Webhook will add an event to your calendar.

To use this Magic Hook, get your %private_scheduling_token% and simply POST this WebHook from your Ontraport Campaign :

https://klikfx.com/api/schedule/log-event?

Parameter Type DESCRIPTION
token= Key Your %private_scheduling_token%(click to get it). Required.
&title= String A name for your event. Required.
&email= Ontraport Merge Field Insert the Merge Field leading to the Email Address of the Contact you have an Appointment with. In general it will be [Email], unless you use Custom Objects. Required.
&description= String A description for your event. Required.
&location= String A location for your event. Required.
&date= Ontraport Merge Field Insert the Merge Field of the Ontraport Field you used on your Appointment Booking Page. Must be UNIX Timestamp formatted. Required.

Examples

https://klikfx.com/api/schedule/log-event?token=%clickfix_token%&title=Meeting with [First Name] [Last Name]&email=[Email]&description=Please call this person promptly.&location=[SMS Number]&date=[Appointment Date Field]

Will add an event to your calendar looking like this :

Title : Meeting with John Doe

Description : Please call this person promptly.

Location : +1xxxxxxxxxx

Date : Date

[ScheduleTimer]

[ScheduleTimer token=%public_scheduling_token% block=#%block_id% display=yes/no]

This Shortcode will set an Ontraport Countdown Timer to the next available time for the Scheduling Module related to Token.

Attribute Type Description
token= Key Your %public_scheduling_token%(click to get it). Required.
#%block_id% ID The ID of the block containing the Countdown you wish to set to the proper time. If no #%block_id% is provided, it will default to "All Countdowns".
display=yes/no Boolean Yes (Default) : Will do nothing.

No : Will hide the Timer elements that have already reached Zero (0).

[UploadBox]

Coming soon, for now you may access the documentation and our Upload Box Feature by clicking here.

Others 🆓/➰/💡/♾️

[FillCoupon]

[FillCoupon %url_parameter%]


Will Fill and Submit the Coupon Field with the value of your %url_parameter%.


[FillCoupon "%coupon%"]


Will Fill and Submit the Coupon Field with %coupon%.

[FillField]

[FillField %target_field% with "%keyword%"]


Will Fill the Field %target_field% with %keyword%.


[FillField %target_field%with url %url_parameter_01%,%url_parameter_02%]


Will Fill the Field %target_field% with the value of your %url_parameter_01%, and if not found of your %url_parameter_02%.


[FillField %target_field%with url %url_parameter_01%,%url_parameter_02% or "%keyword%"]


Will Fill the Field %target_field% with the value of your %url_parameter_01%, and if not found of your %url_parameter_02%, and if not found it will Fill it with %keyword%.


[FillField %target_checkbox_field%with %checked/unchecked%]


Will set your %target_checkbox_field% as either %checked% or %unchecked%.


Attribute Type / Values Description
%target_field% #%field_id% or %field_name% Because the same Field will have the same name if it is on the page multiple times, you may target a specific Field by targeting its #%field_id%.

If you use %field_name% and multiple Fields with the same name are found on the page, all the Fields will be Filled.

You can save yourself some time by using our Free Chrome Plugin to find your Field's id or name.

Required.
"%keyword%" String (Word or Sentence) A set Value with which you want to Fill your Field.
Checkbox Field Type If you are dealing with a Checkbox Field Type, use either with checked or with unchecked.
Dropdown Field Type If you are dealing with a Dropdown Field Type, you can use either Value or Label.
%url_parameter_0X% URL Parameter Replace this with the Parameter(s) you want to get from the URL and send to your Field.

Examples

[FillField email with url email,Email or “Enter Your Email To Continue”]

Will Fill the email Field with :

  1. The Value found in the url parameter "email", and if not found with...
  2. The Value found in the url parameter "Email", and if not found with...
  3. Enter Your Email To Continue
[IfField country not 'United States','Australia','Canada']
[FillField state with "My State is not listed”]
[HideField state]
[/IfField]

Will Hide and Fill the state Field if the selected country is not United States, Australia or Canada.

[FillFrame]

[FillFrame #%frame_id% %url_parameter_01%,%url_parameter_02%]


It is not possible for a Frame (in our case, an Ontraport Form embedded in a Page) to access parameters from the URL.

This shortcode will let you send those parameters manually to the Frame so you can exploit it (for prefilling Fields for example.

Note that when using Frames you must add the ClickFix import script ( <script src="https://klikfx.com/js/1"></script>) to both the Page Header and a Custom HTML Block at the Ontraport Form level.


Attribute Type / Values Description
#%frame_id% ID The ID of the Frame you want to send Data to. When publishing your Form, one of the Parameter is named data-opf-uid. This is what you're looking for. Remember to include the # in your Attribute.

Required.
%url_parameter_0X% URL Parameter Replace this with the Parameter(s) you want to Get from the URL and send to your Frame.

Required.

Examples

[FillFrame #p2c185444f23 email,firstname]

Will send the email and first name Parameters from the Browser URL onto the Frame whose ID is #p2c185444f23.

Then in the Frame itself you can do most of the things you would normally do with our Shortcodes on an Ontraport Page such as :

[FillField email with url email][HideField email]

[FromURL]

[FromURL %url_parameter_01%,%url_parameter_02% or "%keyword%"]


Mostly Deprecated : On your Ontraport Pages you can now just do [%url_parameter%] to get the same functionality. This Shortcode - as most of our Shortcodes - can be used outside of Ontraport Pages though.

This Shortcode will display the Value found in the Browser URL for %url_parameter_01%. If not found it will look for %url_parameter_02%, and if this is not found it will display your "%keyword%".


Attribute Type Description
%url_parameter_0X% URL Parameter Replace this with the Parameter(s) you want to display from the URL. Required.
%keyword% String (Word or Sentence) Will display the %keyword% if none of your %url_parameter_0X% is found in the URL.

Examples

[FromURL email,Email or “Enter Your Email To Continue”]

Will display :

  1. The Value found in the url parameter "email", and if not found with...
  2. The Value found in the url parameter "Email", and if not found with...
  3. Enter Your Email To Continue

[MultiStep]

Simple :

[MultiStep #%id_of_target_block% #%trigger.anchor%]


This shortcode will :

  • Stop the automatic Ontraport Redirection upon Visitor Submission of the Form contained in the Block with ID #%id_of_target_block%
  • Post the data of the Form contained in the Block with ID #%id_of_target_block%
  • Trigger your #%trigger.anchor% upon the Form contained in the Block with ID #%id_of_target_block% being Submitted.

You can have as many [MultiStep] as you want on an Ontraport Page, allowing you to create seamless multi-step experiences for your Visitors while still saving all the Data to Ontraport (in case they don't get to the last step).

Note that in general, and unless you have a Unique Identifier on the page (such as an 'Email' coming from the URL) that allows you to identify the Contact in your different Forms, you'll need to use our [SyncFields] Shortcode.


Attribute Type Description
%id_of_target_block% ID The ID of the Block in which you want to prevent the Form from being automatically Redirected while still Posting its Submited Data to Ontraport.

You can save yourself some time by using our Free Chrome Plugin to find your Block's ID.

Required.
#%block_id% Shortcode Will Execute your %[do_something]% Shortcode upon your [IfAnchor] being Triggered.
#%trigger.anchor% #Anchor Replace this with the Anchor Link that will be Triggered upon your Form being Submitted.

Required.

Advanced :

[MultiStep #%id_of_target_block% #%trigger.$variable%]

You can use your Variable $variable defined through your [Calc] shortcodes Trigger an Anchor.

Examples

[HideBlock #o76aaaa4513]

[MultiStep #o7dff3cad25e6 #step.2]

[IfAnchor #step.2]
[HideBlock #o7dff3cad25e6]
[ShowBlock #o76aaaa4513]
[Redirect #o76aaaa4513]
[/IfAnchor]

Will :

  • [HideBlock #o76aaaa4513] : Hide the Block with ID #o76aaaa4513
  • [MultiStep #o7dff3cad25e6 #step.2] :
    • Send to Ontraport the Data from the Form contained in the Block with ID #o7dff3cad25e6 when Submit is clicked
    • Trigger the #step.2 Anchor when Submit is clicked
  • [IfAnchor #step.2] [HideBlock #o7dff3cad25e6] [ShowBlock #o76aaaa4513] [Redirect #o76aaaa4513] [/IfAnchor] : Now, we use our [IfAnchor] to do what we want to do upon Form Submission. In this case, we Hide the previous Form and Display the next Form (plus we use [Redirect]) to center the new Form
[Calc $total=f1234]
[MultiStep #o7dff3cad25e6 #add.$total]

[IfAnchor #add.$total]
[Calc f5678=$total+f5678]
[/IfAnchor]

Will make the sum of f5678 and f1234. The found value will then replace the value in f5678 upon form submit.

Live Demos

Multi Step Form

Right Click -> View Source to see the Shortcodes and how we used them.

[Redirect]

[Redirect %url%]

or

[Redirect #%anchor%]


This shortcode will Redirect a Visitor to a %url% or an #%anchor%(triggering any related [IfAnchor] in the process).

You are Required. to provide an Anchor or a URL to Redirect the Visitor to.


Examples

[Redirect https://google.com]

Will redirect your Visitor to https://google.com.

[ShowAfter 1min]
[ShowBlock #o7dff3cad25e6]
[Redirect #o7dff3cad25e6]
[/ShowAfter]

Will display the Block with ID #o7dff3cad25e6 after one minute, and scroll the Visitor down to that Block.

[IfAnchor #show.my.block][ShowBlock #o7dff3cad25e6][Redirect #o7dff3cad25e6][/IfAnchor]

Will do the same as above, but upon your Visitor clicking an Anchor Button.

Note that we don't use [IfAnchor #o7dff3cad25e6] because if you were to do this, the page would immediately redirect you to the Block with ID #o7dff3cad25e6 - which will lead to some odd page behaviour since the Block is still hidden at this point.

[Submit]

[Submit #%id_of_target_block%]


This Shortcode will Submit the Form contained in the Block with ID #%id_of_target_block%.

If no #%id_of_target_block% is provided, this Shortcode will Submit the first form found on the page.

So for Ontraport Forms, you can simply use [Submit].


Attribute Type Description
%id_of_target_block% ID The ID of the Block in which you want to prevent the Form from being automatically Redirected while still Posting its Submited Data to Ontraport.

You can save yourself some time by using our Free Chrome Plugin to find your Block's ID.

Examples

[IfAnchor #submit.form]
[Submit #o76aaaa4513]
[/IfAnchor]

Will Submit the Form in the Block with ID #o76aaaa4513 once the #submit.form Anchor is triggered.

[ShowAfter]

[ShowAfter %time%]
%[do_something]%
%keyword%
[/ShowAfter]


This shortcode will Trigger one or more Actions - %[do_something]% - and/or display a String - %keyword%- after a certain %time%.

Please note that :

  • This Shortcode requires an Opening Shortcode, [ShowAfter], and a Closing Shortcode, [/ShowAfter]
  • This Shortcode doesn't require line-breaks. You can do

    [ShowAfter][do_something][/ShowAfter]

    as well as

    [ShowAfter]
    [do_something]
    [/ShowAfter]


Attribute Type Description
%time% Delay Replace this with your Wait Time. Your delay can be expressed with :

Seconds : s,sec,second,seconds

Minutes : m,min,minute,minutes

Hours : h,hour,hours

Required.
%[do_something]% Shortcode Will Execute your %[do_something]% after your %time%.
%keyword% String (Word or Sentence) Will display the %keyword% after your %time%.

Examples

[HideBlock #o7dff3cad25e6]
[ShowAfter 1min]
[ShowBlock #o7dff3cad25e6]
[Redirect #o7dff3cad25e6]
[/ShowAfter]

Will first hite the Block with ID #o7dff3cad25e6, and will then display the Block with ID #o7dff3cad25e6 after one minute, and scroll the Visitor down to that Block.

Live Demos

@ComingSoon

Timed Sequence Of Events

Right Click -> View Source to see the Shortcodes and how we used them.

[TheYear]

[TheYear]


Will display the current year.


[Timer]

Step 1

[Timer type=%timer_type% field=%target_field% display=yes/no]


This Shortcode will set an Ontraport Countdown on an Ontraport Page to a date and time related to your %timer_type% and Fill the %target_field% with a TimeStamp (allowing you to transfer this TimeStamp over to Page 2, or to send it via Email to your Visitor).

Note that your %target_field% will be hidden automatically.

Your %target_field% must be either a Numeric, a Text or a Long Text Field (it does not work with Date Fields).


Attribute Type Description
%timer_type% Type Required.
every_quarter Will set the timer to the next quarter of the hour.
%time% Replace with a time of your choice. our delay can be expressed with :

Seconds : s,sec,second,seconds

Minutes : m,min,minute,minutes

Hours : h,hour,hours
Feel free to contact us if you need other options.
%target_field% #%field_id% or %field_name% Because the same Field will have the same name if it is on the page multiple times, you may target a specific Field by targeting its #%field_id%.

If you use %field_name% and multiple Fields with the same name are found on the page, all fields will be Filled.

You can save yourself some time by using our Free Chrome Plugin to find your Field's ID or Name.

Required.
display=yes/no Boolean Yes (Default) : Will do nothing.

No : Will hide the Timer elements that have already reached Zero (0).

Step 2

[Timer param=%url_parameter% submit=#%id_of_target_block%]


This Shortcode will collect the TimeStamp from your %url_parameter% and submit the Form with ID #%id_of_target_block% once the Timer has expired.


Examples

Step 1 : Optin Page : Every Quarter

[Timer type=every_quarter field=#o36ed4c6216c6-f1776 display=no]

Will calculate End Time, in this case the next quarter of the hour, set all Ontraport Countdowns found on the page to this Time, and Fill the Field with ID #o36ed4c6216c6-f1776 with End Time.

It will also hide all countdown elements that have hit 0.

From there we'll assume that :

  • you are asking for an email on Step 1
  • the Redirect URL of your Form is set to https://step2.com?email=[Email]&timer=[Timer Field]
Step 1 : Optin Page : 10 Minutes in the future

[Timer type=10min field=#o36ed4c6216c6-f1776]

Will calculate End Time, in this case 10 minutes in the future, set all Ontraport Countdowns found on the page to this Time, and Fill the Field with ID #o36ed4c6216c6-f1776 with End Time.

From there we'll assume that :

  • you are asking for an email on Step 1
  • the Redirect URL of your Form is set to https://step2.com?email=[Email]&timer=[Timer Field]
Step 2 : Confirmation Page

[Timer param=timer submit=#o8c6cc87feff8]
[FillField #o8c6cc87feff8-email with email]

Will set all Ontraport Countdowns found on the page to TimeStamp found in the timer Parameter from the URL, and will Submit the Form with ID #o8c6cc87feff8 once the Countdowns hit zero.

We prefill the Email Field because we want to make sure the contact is still identified on page 3 (which would generally be a Webinar Page or a "Too Late" Page).

Live Demos

@ComingSoon

Optin -> Wait Page -> Video

Right Click -> View Source to see the Shortcodes and how we used them.

[Validate]

[Validate %target_field% %validation_type% "%validation_message%"]


This shortcode will prevent a Form Submission if the %validation_type% deems the content of the %target_field% non-valid and will display your custom %validation_message% in place of the Ontraport one.


Attribute Type Description
%target_field% #%field_id% or %field_name% Because the same Field will have the same name if it is on the page multiple times, you may target a specific Field by targeting its #%field_id%.

If you use %field_name% and multiple Fields with the same name are found on the page, all fields will go through the Validation process.

You can save yourself some time by using our Free Chrome Plugin to find your Field's id or name.

Required.
%validation_type% Type IBAN is the only valid parameter of our [Validate] Shortcode. Feel free to contact us if you need other options.

Required.
"%validation_message%" String Your validation message, inside brackets - ".

Examples

[Validate #o3f5aa1c64e04-f1234 IBAN “Please enter a valid IBAN”]

Will monitor the Field with ID #o3f5aa1c64e04-f1234 and prevent the Submission of the Form with ID #o3f5aa1c64e04 unless a valid IBAN is entered.

If the IBAN is deemed non-valid, then "Please enter a valid IBAN" will be displayed at the Field level.

Live Demos

@ComingSoon

IBAN Validation Test

This is a valid test IBAN you can check : FR1420041010050500013M02606

Right Click -> View Source to see the Shortcodes and how we used them.

Magic Hooks ➰/💡/♾️

Magic Hooks are a set of endpoints that will allow you to un-Zap your life and do in one webhook what would otherwise take a complex setup

Need a Magic Hook that's not on the list yet? Just let us know on the ClickFix Facebook Group and we will add it in!

Helpers

String -> QR Code

To use this Magic Hook, get your %clickfix_token% and simply POST this WebHook from your Ontraport Campaign :

https://klikfx.com/a/h/qr?

Parameter Type DESCRIPTION
token= Key Your %clickfix_token%(click to get it).

Required.
&object= Object ID The Object ID of the Object onto which you want to Populate the QR Code.0 for Contacts (Default.).
&id= ID The ID of the Contact or Object.

Required.
&field= Field ID The ID of the Field you want to Populate (must be a Long Text Type Field).

Required.
&data= String The String you wish to turn into a QR Code.Required.

Integrations

ClickFunnels -> Ontraport : Log Transactions

To use this Magic Hook, get your %clickfix_token% and simply add this WebHook :

https://klikfx.com/a/h/clickfunnels-purchase/%clickfix_token%

...in the webhook section of your Funnel in ClickFunnels, which you’ll find under “Settings” when editing a Funnel.

Purchases will be logged :

  • Using the exact same product name (make sure product names are identical in ClickFunnels and in Ontraport)
  • Without consideration for currency (so if your Ontraport account is in USD but you sell a 50€ product on ClickFunnels, we’ll log a $50 transaction in Ontraport)

The Webhook Screen should look like this in ClickFunnels :

clickfunnels_newpurchase_webhook_exemple.jpg

Twilio : Send a SMS

To use this Magic Hook, get your %clickfix_token% and simply POST this WebHook from your Ontraport Campaign :

https://klikfx.com/a/h/twilio-sms?

Parameter Type DESCRIPTION
token= Key Your %clickfix_token%(click to get it).

Required.
&account_sid= Key Your TWILIO account sid (Secret ID). It can be found here.

Required.
&auth_token= Key Your TWILIO auth token. It can be found here.

Required.
&twilio_number= Phone Number Your TWILIO SMS number.

Required.
&send_to= Phone Number SMS Number of the person you want to write to.

Required.
&message= String Your Message.

Required.

Orders

Log Transaction

This magic hook serves to log a transaction into your account.

NB: There's no actual charge and no billing information; though transaction appears in sales reports.

NB: This transaction always logs an one-time purchase, not a subscription.

To use this Magic Hook, get your %clickfix_token% and simply send a GET or POST payload to this address:
https://klikfx.com/a/h/log-transaction

Required parameters

Parameter Type Required DESCRIPTION
token Key yes Your %clickfix_token%(click to get it).
products Array yes The array of products you wish to include into a transaction. Array Keys represent the identifiers of products (either names or ID's), and values are prices. For example, if one wants to log a product named "Treadmill", $1200, and a product with known ID 9 for $100, they have to arrange their parameters this way: products[Treadmill]=1200&products[9]=100. Both IDs and names can be mixed in one request.
email email yes An email to identify your contact. If contact with this email does not exist, a new one will be created.

Transaction Parameters:
Enhanced transaction data. All parameters are optional.

Parameter Type DESCRIPTION
time integer Transaction date represented in seconds since the Unix Epoch (i.e. Timestamp). If not set, current time will be taken.
order_id integer External order ID of transaction. Useful for integration with other APIs.
invoice integer Invoice template one's willing to use. If not set, -1 will be used, which means to suppress invoice sending.
gateway integer A payment gateway ID. Please note that you have to pass a true gateway ID (which starts from one), not the external gateway ID (which usually consists of six digits). This means, unless you have 100k+ gateways created in your OAP, the true gateway ID is going to be one or two digits.

Contact Parameters
You can pass some contact data together with transaction data. All parameters are optional. Note that those parameters will replace the data you already have.

Parameter Type DESCRIPTION
firstname string First name of the contact.
lastname string Last name of the contact.
country string An ISO Alpha-2 code of country (i.e. US, BR, FR etc).
city string Contacts city.
address string Contacts address.
address2 string Second line of contacts address.
zip string Zip code.

https://klikfx.com/a/h/log-transaction?token=[YOUR TOKEN]&email=customer@example.com&products[Stairmaster]=1200&products[9]=10&gateway=4&order_id=333&firstname=Victoria

Send Recurring Invoices (or not)

To use this Magic Hook, get your %clickfix_token% and simply POST this WebHook from your Ontraport Campaign :

https://klikfx.com/a/h/recurring-invoice?

Parameter Type DESCRIPTION
token= Key Your %clickfix_token%(click to get it).

Required.
&id= ID The ID of the contact : [Contact ID].

Required.
&product= Product ID The ID of the Product you want to look up in the Contact's Open Orders (if no Product ID is provided, we will change all the open orders for that contact).
&toggle= yes or no Will change the "Send an invoice for every recurring payment" setting to either yes(Default.) or no.

Training

Examples

(https://klikfx.com/a/h/recurring-invoice?token=%clickfix_token%&id=1234&product=1&toggle=yes

Will look up an Open Order containing the Product with ID 1 for the contact with ID 1234, and will set it to send an Invoice every time the Open Order is charged.

Change next charge date on an open order

To use this Magic Hook, get your %clickfix_token% and simply POST this WebHook from your Ontraport Campaign :

https://klikfx.com/a/h/change-charge-date?

Parameter Type DESCRIPTION
token= Key Your %clickfix_token%(click to get it).

Required.
&id= ID The ID of the contact : [Contact ID].

Required.
&from= today or order Do we change the date based on today's date (Default.) or based on order date found in the Open Order?
&product= Product ID The ID of the Product you want to look up in the Contact's Open Orders (if no Product ID is provided, we will change the Last Open Order create for that Contact).
&timezone= TimeZone Your preferred timezone. You can find it in the “TZ” column by clicking here. If no timezone is specified, we will operate in Standard Time. Not setting a timezone might cause issues where some of your orders might get charged a day in advance because it is already that day in GMT (Standard Time) but not in your timezone.
&type=
&offset=
type and offset combination Pick a type and an offset from the table below.

Required.
type offset
nextday Numeric 1 to 7 (Monday to Sunday)
nextmonth Numeric from 1 to 31 (if no 31 in that month, set to last day of the month)
days A number of days in the future
weeks A number of weeks in the future
months A number of months in the future

Training

Examples

(https://klikfx.com/a/h/recurring-invoice?token=%clickfix_token%&id=1234&product=1&toggle=yes

Will look up an Open Order containing the Product with ID 1 for the contact with ID 1234, and will set it to send an Invoice every time the Open Order is charged.

Reporting ♾️

Report

This endpoint provides a possibility to retrieve a short report of objects and optionally put them into a destination object record.

Endpoint

GET https://klikfx.com/a/h/report?token=[Your Magic Hooks Token]

Parameters
Name Type Default Description
object integer 0 Identifier of object you're willing to get a report for. By default, it's Contacts object (ID 0).
conditions array [] Criteria of report. Must be given in standard query array, key represents a field and value represents condition. Example: conditions[f1234]=38
totals array [] Report totals. Must be given in standard query array, values must represent total columns. Note that total columns must be defined in Ontraport Object settings. To get a number of objects, include "qty" in your list. Example: totals[]=f1233&totals[]=qty, totals[]=qty
destObject integer 0 Destination object ID. Example: destObject=10002.
destObjectField string Destination object field. Since destination object ID has default value, providing a field parameter will cause creation or updating of object record in Ontraport. Example: destObjectField=f1233.
destObjectId integer Destination object record ID. If destObjectField is provided, empty value of this parameter will cause new object record to appear. Otherwise, magic hook will try to update object record with given ID. Example: destObjectId=68.
Report Conditions

You can define several conditions for your report. They come in a standard query array format:

conditions[firstname]=Anna&conditions[country]=US

Also, there are several special formats for conditions.

  • Date condition: you can define a date condition by setting up a base date and an optional interval to add to it or substract from it.

    • Base date can be set up as now or in dd-mm-yyyy format. Please note that this format is compatible with Ontraport European Dash date format.
      Each part of base date (either day, month, or year part) can be replaced with zeroes. Zeroes mean current day/month/year, i.e. 01-01-0000 will be interpreted as January 1st of the current year.
    • Interval (which we add to or substract from base date) can be set up as one or several amount-unit pairs in this fashion: <+/-><offset><unit:day,week,month,year>. This way, now-2week will return records between 2 weeks ago and now, and 01-01-2019+1year1day will return records for Jan 02, 2020.

    Single date condition always means 1 day, from 00:00:00 to 23:59:59. To set up a date range wider than 1 day, see Range below.

  • Range: to define a range, you have to set up begin and end of range in this fashion:
    conditions[f1234][begin]=10&conditions[f1234][end]=50. This will return all records where f1234 is between 10 and 50.
    You can also set only one value for the range: conditions[f1234][end]=50. This will return all records where f1234 is below 50.
    Each border of range can be a date. To set it up, see Date condition.
    If you set up a date range, please note that both first and last days are included in a range.

  • List: to define a generic list, simply pass all the list values separated by comma. This way, conditions[f1234]=0,50 will return records with f1234=0 or f1234=50.

All other values which do not fit the formats above, will be considered as ordinary values. I.e., conditions[firstname]=Anna will return records where "firstname" field is Anna.

Passing empty conditions or not passing them at all will get all objects in count.

Report Totals

All total fields except quantity (qty) must also be defined in Ontraport object administration as totals. When you define custom object numeric field in Field Editor, you can see that Ontraport allows you to pick one of the options:

  • Show total at the top
  • Show average at the top
  • Show nothing.

Picking "Show total at the top" or "Show average at the top" will result in defining field as total. Thus, this magic hook will be available to return the totals of this field.

Besides that, you can always get a number of objects which meet your criteria. To do that, pass a keyword qty as field name: totals[]=qty&totals[]=f1234.

Report Destination object

This magic hook also supports putting report results into mutable Ontraport object (usually it's Contacts and custom objects). Format of resulting field value depends on totals parameter. For example, we have 20 objects that meet the condition, and sum of f1234 field values of these objects is 2500. If there's only one defined total, destination object will contain only its value, i.e. totals[]=f1234 will cause destination object field contain 2500. If you pass several totals like totals[]=qty&totals[]=f1234, destination object field will contain standard JSON-encoded object: {"f1234":2500,"qty":20}.

Request

GET https://klikfx.com/a/h/report?token=[Your Magic Hooks Token]&object=10004&conditions[firstname]=Anna&totals[]=qty

Response
{"qty":20}

Integrations ➰/💡/♾️

Ontraport -> ProfitWell ➰/💡/♾️

You can learn more about ProfitWell, which provides free subscription metrics to help you identify opportunities and then tools to help you reduce churn, optimize pricing, and grow your subscription business end-to-end, on their website : https://www.profitwell.com/

CrowdRise -> Ontraport ♾️

Our CrowdRise integration will synchronize your CrowdRise Objects with your Ontraport Objects, allowing you use all of Ontraport functionnalities.

Our CrowdRise integration is relatively complex and must be setup by a ClickFix agent.
Which is good, since it’s a free service!

Contact us to know more.

Payments ♾️

Coming soon, for now you may access the documentation and our SEPA Payment feature by clicking here.

ClickFix Apps ♾️

Coming soon, for now you may access the documentation and our Ontra-App Toolkit by clicking here.

Other Features ➰/💡/♾️

SMS Interface ♾️

Coming soon, for now you may access the documentation and our SMS Interface feature by clicking here.

Plugins 🆓/➰/💡/♾️

Chrome Plugin 🆓/➰/💡/♾️

Our Chrome Plugin will let you :

  • Display and Highlight information about your Ontraport Pages for use in our Shortcodes :
    • Field Names
    • Field IDs
    • Element IDs
    • Column IDs
    • Block IDs
    • Bumps IDs
  • Use Shortcuts within Ontraport (note that you can pick your own key combinations) :
    • Save (Default : CTRL+S)
    • Get cursor to search box (Default : CTRL+SHIFT+F)
    • Back (Default : CTRL+BACKSPACE)
    • Open a copy of current tab (Default : CTRL+SHIFT+U)

You can use this plugin on as many websites as you want as long as you have a Basic ClickFix account.

Step 1 : Install the Plugin

You can install the Plugin directly from the Chrome Webstore here.

Step 2 : Get your token

You'll need a Token to identify yourself as a ClickFix user, which you can get here.