To set up product sync using OntraPort, click on the sales module that you would like to configure products for, and select Yes for "Use Webhooks?"


Then type in the name and price of the product you would like to log as a sale. Drag a connection from the page that leads to this order/upsell page, as well as a connection to the page that the user goes after buying this product. If you would like to add in more products, click "Add New Product" at the bottom right.


IMPORTANT: If you have an ampersand (&) in your product name you will need to save them with the ASCII characterization version of that delimiter, %26. So if your product name is "books & novels" you would enter it as "books %26 novels". Also, please keep in mind that PIPE (|) character strings are not allowed in the Product Name field to properly work with our webhooks.

Other special Characters: 

$ = %24# = %23Examples: 100%25 Main Product = 100% Main Product 
+ = %2B% = %25 Reselling %2B Training = Reselling + Training
/ = %2F| = %7C Bump Offer%2FUpsell = Bump Offer/Upsell
: = %3A\ = %5CTraining%3EOnboarding = Training>Onboarding
; = %3B^ = %5E
? = %3F~ = %7E
@ = %40{ = %7B
" = %22 } = %7D
< = %3C[ = %5B
> = %3E] = %5D

NOTE: In order for sales to be logged correctly, the product names and prices will need to match exactly how they're set up inside OntraPort.


Step 1. Copy the webhook URL generated.


Step 2.  Login to your Ontraport Account.  Navigate to Campaigns>Rules, then click New Rule.
Step 2b. Under Triggers, choose Purchases Product and select the product you plan to track, and under Actions choose Ping a URL.
Step 2c. Under URL: Copy and Paste the Notification URL given to you
Step 2d. In the Post Data section copy and paste the code below and the ONLY thing you have to change is
YOUR_PRODUCT_NAME to match the Product Name you have in Ontraport
. Make certain you copy and
paste everything else exactly as we have it below including the 2 trailing pipes (||)
!


YOUR_PRODUCT_NAME|[Last Charge Amount]|[IP Address]|Ontraport|Charged|No|[Last Invoice #]|[First Name]|[Last Name]|[Email]|[Cell Phone]|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|[Last Invoice #]|[Last Total Invoice Amount]|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|1|||||[Card Type]|[Last CC Status]|[Card Number (Last 4)]|[Card Expiration Month]|[Card Expiration Year]||


If you are selling a product with monthly or annual payments, use this Post Data instead:

YOUR_PRODUCT_NAME|YOUR_PRODUCT_PRICE|[IP Address]|Ontraport|Charged|No|[Last Invoice #]|[First Name]|[Last Name]|[Email]|[Cell Phone]|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|[Last Invoice #]|YOUR_PRODUCT_PRICE|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|1|||||[Card Type]|[Last CC Status]|[Card Number (Last 4)]|[Card Expiration Month]|[Card Expiration Year]|subscription||


You will have to set up a separate RuleSet for each product that you want to track.  We’d love to be able to just set up one webhook for all products but for whatever reason, by default Ontraport does not send the product name field in their posts.  Maybe if there are enough requests for it, they will write it in.  So please do let their support know we’d love this feature added!


Step 2e. Where it says Send as JSON Leave this checkbox UNCHECKED, so basically do nothing.


Step 3.  Click Save. Then it is suggested that you run a test order of your product to make sure that it logs correctly.


Step 4. to track order refunds, do the same steps above but for Triggers choose Gets a refund on and choose the product you plan to track, and use the following post data instead:


YOUR_PRODUCT_NAME|YOUR_PRODUCT_PRICE|[IP Address]|Ontraport|Charged|No|[Last Invoice #]|[First Name]|[Last Name]|[Email]|[Cell Phone]|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|[Last Invoice #]|YOUR_PRODUCT_PRICE|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|1|||||[Card Type]|[Last CC Status]|[Card Number (Last 4)]|[Card Expiration Month]|[Card Expiration Year]|refund||


To track subscription cancels, do the same steps above but for Triggers choose Open order is charged or updated and choose the product that you plan to track. In the next dropdown, select Cancelled, then use the following post data:


YOUR_PRODUCT_NAME|YOUR_PRODUCT_PRICE|[IP Address]|Ontraport|Charged|No|[Last Invoice #]|[First Name]|[Last Name]|[Email]|[Cell Phone]|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|[Last Invoice #]|YOUR_PRODUCT_PRICE|[Address][Address 2]|[City]|[State]|[Zip Code]|[Country]|1|||||[Card Type]|[Last CC Status]|[Card Number (Last 4)]|[Card Expiration Month]|[Card Expiration Year]|cancel||


IMPORTANT: When testing sales with Ontraport, please do not use the IP Spoofing feature, as it will conflict with the IP address that their webhooks send through. Instead, please use your real IP address when testing sales.