Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.2.0
-
Fix Version/s: 4.3.0-b1
-
Component/s: None
-
Labels:None
Description
Under Packages > Order Forms > Settings
- Create a new section called Embed Code
- In that section, create a new textarea field labeled Order Form Embed Code
- The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates
- Allow for the following tags (NOTE: SEE BELOW FOR AVAILABLE TAGS)
- {order} – (include order.id and order.number in the Tags section)
{package} – (include package.id and package.name in the Tags section){package_group} – (include package_group.id and package_group.name in the Tags section){total} – (the total price. This may be better as a {totals} object with references to {totals.subtotal}, {totals.total_after_tax}, etc., if available)- {currency} – (the invoice/payment currency for the order)
- Add an order_page tag to be used in conditional statements so that the embed code can be conditional by page
- Available order_page's should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests)
- signup/index
- main/index
- main/packages
- forms/index
- config/index
- config/preconfig
- checkout/index
- checkout/complete
- cart/index
- Available order_page's should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests)
- The full list of order_page's and additional tags should be made known in the documentation.
- Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the {order} tag is not available before the checkout process is complete
- Ensure that the embed code is set to every page it is defined for on every order form
- The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX
EXAMPLE EMBED CODE
{% if order_page == 'forms/index' %} <script type="text/javascript"> $(document).ready(function() { console.log('this is the forms/index page!'); }); </script> {% endif %}
AVAILABLE TAGS:
- order_page (e.g. "main/index")
- currency (e.g. "USD")
- products - A numerically-indexed array containing each service product in the cart, or processed for the order
- Each item contains the package and package_group. See below for an example
AVAILABLE TAGS ONLY ON THE checkout/complete ORDER PAGE
- order - This is an object representing the order that was placed. See below for an example
- invoice - This is an object representing the invoice for the order that was placed. See below for an example
Example set of tags available to the checkout/complete page:
[order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [products] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) )
Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like:
- Order Number (And also Order ID)
- Package Name
- Package Group
- Total Price
- Quantity
- Currency Code
And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear.
Issue Links
- is blocked by
-
CORE-2687 Add plugin to Appcontroller.structure
- Closed
Activity
Paul Phillips
created issue -
Tyson Phillips (Inactive)
made changes -
Field | Original Value | New Value |
---|---|---|
Story Points | 5 |
Tyson Phillips (Inactive)
made changes -
Rank | Ranked higher |
Paul Phillips
made changes -
Description |
Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like:
- Order Number - Package Name - Package Group - Total Price - Quantity And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like:
- Order Number - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Paul Phillips
made changes -
Description |
Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like:
- Order Number - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like:
- Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Sprint | 4.3.0 Sprint 6 [ 56 ] |
Tyson Phillips (Inactive)
made changes -
Description |
Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like:
- Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Fix Version/s | 4.3.0-b1 [ 11019 ] | |
Fix Version/s | 4.3.0 [ 11022 ] |
Jonathan Reissmueller
made changes -
Assignee | Jonathan Reissmueller [ jonathan ] |
Automated transition triggered when Jonathan Reissmueller created a branch in Stash -
Status | Open [ 1 ] | In Progress [ 3 ] |
Jonathan Reissmueller
made changes -
Remaining Estimate | 0 minutes [ 0 ] | |
Time Spent | 55 minutes [ 3300 ] | |
Worklog Id | 10929 [ 10929 ] |
Jonathan Reissmueller
made changes -
Time Spent | 55 minutes [ 3300 ] | 3 hours, 39 minutes [ 13140 ] |
Worklog Id | 10930 [ 10930 ] |
Automated transition triggered when Jonathan Reissmueller created pull request #39 in Stash -
Status | In Progress [ 3 ] | In Review [ 5 ] |
Resolution | Fixed [ 1 ] |
Jonathan Reissmueller
made changes -
Time Spent | 3 hours, 39 minutes [ 13140 ] | 7 hours, 30 minutes [ 27000 ] |
Worklog Id | 10935 [ 10935 ] |
Tyson Phillips (Inactive)
made changes -
Sprint | 4.3.0 Sprint 6 [ 56 ] | 4.3.0 Sprint 6, 4.3.0 Sprint 7 [ 56, 57 ] |
Tyson Phillips (Inactive)
made changes -
Rank | Ranked higher |
Tyson Phillips (Inactive)
made changes -
Time Spent | 7 hours, 30 minutes [ 27000 ] | 1 day, 3 hours, 51 minutes [ 42660 ] |
Worklog Id | 10956 [ 10956 ] |
Tyson Phillips (Inactive)
made changes -
Time Spent | 1 day, 3 hours, 51 minutes [ 42660 ] | 2 days [ 57600 ] |
Worklog Id | 10959 [ 10959 ] |
Tyson Phillips (Inactive)
made changes -
Time Spent | 2 days [ 57600 ] | 2 days, 58 minutes [ 61080 ] |
Worklog Id | 10960 [ 10960 ] |
Tyson Phillips (Inactive)
made changes -
Link | This issue is blocked by CORE-2677 [ CORE-2677 ] |
Tyson Phillips (Inactive)
made changes -
Sprint | 4.3.0 Sprint 6, 4.3.0 Sprint 7 [ 56, 57 ] | 4.3.0 Sprint 6, 4.3.0 Sprint 7, 4.3.0 Sprint 8 [ 56, 57, 58 ] |
Tyson Phillips (Inactive)
made changes -
Rank | Ranked higher |
Tyson Phillips (Inactive)
made changes -
Tyson Phillips (Inactive)
made changes -
Time Spent | 2 days, 58 minutes [ 61080 ] | 2 days, 1 hour, 58 minutes [ 64680 ] |
Worklog Id | 11026 [ 11026 ] |
Tyson Phillips (Inactive)
made changes -
Description |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Description |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Description |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX *AVAILABLE TAGS:* * _order_page_ (e.g. "main/index") * _currency_ (e.g. "USD") * _items_ - An numerically-indexed array containing each item in the cart, or processed for the order ** Each item contains the package and package_group. See below for an example *AVAILABLE TAGS ONLY ON THE _checkout/complete_ ORDER PAGE* * _order_ - This is an object representing the order that was placed. See below for an example * _invoice_ - This is an object representing the invoice for the order that was placed. See below for an example Example set of tags available to the _checkout/complete_ page: {noformat} [order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [items] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) ) {noformat} ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Description |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX *AVAILABLE TAGS:* * _order_page_ (e.g. "main/index") * _currency_ (e.g. "USD") * _items_ - An numerically-indexed array containing each item in the cart, or processed for the order ** Each item contains the package and package_group. See below for an example *AVAILABLE TAGS ONLY ON THE _checkout/complete_ ORDER PAGE* * _order_ - This is an object representing the order that was placed. See below for an example * _invoice_ - This is an object representing the invoice for the order that was placed. See below for an example Example set of tags available to the _checkout/complete_ page: {noformat} [order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [items] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) ) {noformat} ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX *AVAILABLE TAGS:* * _order_page_ (e.g. "main/index") * _currency_ (e.g. "USD") * _items_ - A numerically-indexed array containing each item in the cart, or processed for the order ** Each item contains the package and package_group. See below for an example *AVAILABLE TAGS ONLY ON THE _checkout/complete_ ORDER PAGE* * _order_ - This is an object representing the order that was placed. See below for an example * _invoice_ - This is an object representing the invoice for the order that was placed. See below for an example Example set of tags available to the _checkout/complete_ page: {noformat} [order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [items] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) ) {noformat} ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Description |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX *AVAILABLE TAGS:* * _order_page_ (e.g. "main/index") * _currency_ (e.g. "USD") * _items_ - A numerically-indexed array containing each item in the cart, or processed for the order ** Each item contains the package and package_group. See below for an example *AVAILABLE TAGS ONLY ON THE _checkout/complete_ ORDER PAGE* * _order_ - This is an object representing the order that was placed. See below for an example * _invoice_ - This is an object representing the invoice for the order that was placed. See below for an example Example set of tags available to the _checkout/complete_ page: {noformat} [order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [items] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) ) {noformat} ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX *AVAILABLE TAGS:* * _order_page_ (e.g. "main/index") * _currency_ (e.g. "USD") * _products_ - A numerically-indexed array containing each service product in the cart, or processed for the order ** Each item contains the package and package_group. See below for an example *AVAILABLE TAGS ONLY ON THE _checkout/complete_ ORDER PAGE* * _order_ - This is an object representing the order that was placed. See below for an example * _invoice_ - This is an object representing the invoice for the order that was placed. See below for an example Example set of tags available to the _checkout/complete_ page: {noformat} [order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [products] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) ) {noformat} ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Description |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags #* \{order\} -- (include order.id and order.number in the Tags section) #* \{package\} -- (include package.id and package.name in the Tags section) #* \{package_group\} -- (include package_group.id and package_group.name in the Tags section) #* \{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available) #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX *AVAILABLE TAGS:* * _order_page_ (e.g. "main/index") * _currency_ (e.g. "USD") * _products_ - A numerically-indexed array containing each service product in the cart, or processed for the order ** Each item contains the package and package_group. See below for an example *AVAILABLE TAGS ONLY ON THE _checkout/complete_ ORDER PAGE* * _order_ - This is an object representing the order that was placed. See below for an example * _invoice_ - This is an object representing the invoice for the order that was placed. See below for an example Example set of tags available to the _checkout/complete_ page: {noformat} [order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [products] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) ) {noformat} ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Under *Packages > Order Forms > Settings*
# Create a new section called _Embed Code_ # In that section, create a new textarea field labeled _Order Form Embed Code_ #* The textarea field will be parsable via H2o, so it should be validated to be parsable when saving it, similar to email templates # Allow for the following tags (NOTE: SEE BELOW FOR AVAILABLE TAGS) #* \{order\} -- (include order.id and order.number in the Tags section) #* -\{package\} -- (include package.id and package.name in the Tags section)- #* -\{package_group\} -- (include package_group.id and package_group.name in the Tags section)- #* -\{total\} -- (the total price. This may be better as a \{totals\} object with references to \{totals.subtotal\}, \{totals.total_after_tax\}, etc., if available)- #* \{currency\} -- (the invoice/payment currency for the order) # Add an _order_page_ tag to be used in conditional statements so that the embed code can be conditional by page #* Available _order_page_'s should be based on the pages currently available in the order process where the embed code could be set (typically NOT AJAX requests) #** signup/index #** main/index #** main/packages #** forms/index #** config/index #** config/preconfig #** checkout/index #** checkout/complete #** cart/index # The full list of _order_page_'s and additional tags should be made known in the [documentation|https://docs.blesta.com/display/user/Order+System]. #* Be sure to denote in the documentation what tag(s) are available to what order page(s). For example, the \{order\} tag is not available before the checkout process is complete # Ensure that the embed code is set to every page it is defined for on every order form #* The AJAX order form may not allow the embed code to be set for certain pages during checkout because much of it is loaded via AJAX h3. *EXAMPLE EMBED CODE* {noformat} {% if order_page == 'forms/index' %} <script type="text/javascript"> $(document).ready(function() { console.log('this is the forms/index page!'); }); </script> {% endif %} {noformat} h3. *AVAILABLE TAGS:* * _order_page_ (e.g. "main/index") * _currency_ (e.g. "USD") * _products_ - A numerically-indexed array containing each service product in the cart, or processed for the order ** Each item contains the package and package_group. See below for an example *AVAILABLE TAGS ONLY ON THE _checkout/complete_ ORDER PAGE* * _order_ - This is an object representing the order that was placed. See below for an example * _invoice_ - This is an object representing the invoice for the order that was placed. See below for an example Example set of tags available to the _checkout/complete_ page: {noformat} [order_page] => checkout/complete [order] => stdClass Object ( [id] => 302 [order_number] => 5aeb807f2b778 [order_form_id] => 13 [invoice_id] => 6918 [fraud_report] => {"distance":"0","countryMatch":"No","countryCode":"","freeMail":"No","anonymousProxy":"No","score":"2.50","binMatch":"NA","binCountry":"","err":"IP_NOT_FOUND","proxyScore":"0.00","ip_region":"","ip_city":"","ip_latitude":"","ip_longitude":"","binName":"","ip_isp":"","ip_org":"","binNameMatch":"NA","binPhoneMatch":"NA","binPhone":"","custPhoneInBillingLoc":"NotFound","highRiskCountry":"No","queriesRemaining":"5935","cityPostalMatch":"No","shipCityPostalMatch":"","maxmindID":"9BHCJUNH","carderEmail":"No","riskScore":"9.24","explanation":"This order is slightly risky, and we suggest that you review it manually, especially for B2B transactions. The order is higher risk because the billing country and the country in which the IP address is located don't match"} [fraud_status] => review [status] => pending [ip_address] => 127.0.0.1 [date_added] => 2018-05-03 21:34:55 [order_form_label] => umtemp [order_form_name] => UM Temp [client_id] => 1 [total] => 1.0000 [paid] => 0.0000 [currency] => USD [date_closed] => [invoice_id_code] => PROFORMA-1-2018-05-03 [client_id_code] => 1500 [client_first_name] => Jar Jar [client_last_name] => Binks [client_company] => Republic Senate [client_address1] => 1 Coruscant [client_email] => tyson@phillipsdata.com ) [invoice] => stdClass Object ( [id] => 6918 [id_format] => PROFORMA-{num}-2018-05-03 [id_value] => 1 [client_id] => 1 [date_billed] => 2018-05-03 21:34:55 [date_due] => 2018-05-03 21:34:55 [date_closed] => [date_autodebit] => [autodebit] => 1 [status] => proforma [subtotal] => 1.0000 [total] => 1.0000 [paid] => 0.0000 [previous_due] => 16912.7368 [currency] => USD [note_public] => [note_private] => [id_code] => PROFORMA-1-2018-05-03 [delivery_date_sent] => [due] => 1.0000 [line_items] => Array ( [0] => stdClass Object ( [id] => 22424 [invoice_id] => 6918 [service_id] => 1106 [description] => UM Temp - (May 03, 2018 - Jun 03, 2018) [qty] => 1.0000 [amount] => 1.0000 [subtotal] => 1.00000000 [taxes] => Array ( ) [taxes_applied] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [total] => 1 [total_w_tax] => 1 ) ) [delivery] => Array ( [0] => stdClass Object ( [id] => 11050 [invoice_id] => 6918 [method] => email [date_sent] => ) ) [meta] => Array ( ) [tax_subtotal] => 0 [tax_total] => 0 [taxes] => Array ( ) ) [currency] => USD [products] => Array ( [0] => stdClass Object ( [package] => stdClass Object ( [id] => 27 [id_format] => {num} [id_value] => 24 [module_id] => 1 [name] => UM Temp [description] => [description_html] => [qty] => [module_row] => 26 [module_group] => [taxable] => 0 [single_term] => 0 [status] => active [company_id] => 1 [prorata_day] => [prorata_cutoff] => [id_code] => 24 [email_content] => Array ( [0] => stdClass Object ( [lang] => de_de [html] => [text] => ) [1] => stdClass Object ( [lang] => en_us [html] => [text] => ) ) [pricing] => Array ( [0] => stdClass Object ( [id] => 67 [pricing_id] => 249 [package_id] => 27 [term] => 1 [period] => month [price] => 1.0000 [setup_fee] => 0.0000 [cancel_fee] => 0.0000 [currency] => USD ) ) [meta] => stdClass Object ( ) [groups] => Array ( [0] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) [option_groups] => Array ( ) ) [package_group] => stdClass Object ( [id] => 35 [name] => Temp Group [description] => [type] => standard [company_id] => 1 [allow_upgrades] => 1 ) ) ) {noformat} ---- Google and other services allow tracking of conversion data by embedding a javascript snippet with variable substitution for certain values, like: - Order Number (And also Order ID) - Package Name - Package Group - Total Price - Quantity - Currency Code And possibly other variables. The best place for this embed code is probably under Packages > Order Forms > Settings with a section called "Embed Code" and a list of possible variables. The form should be a text area, and the contents of the text area should be embedded into the order form footer where other Javascript may appear. |
Tyson Phillips (Inactive)
made changes -
Time Spent | 2 days, 1 hour, 58 minutes [ 64680 ] | 2 days, 4 hours, 55 minutes [ 75300 ] |
Worklog Id | 11030 [ 11030 ] |
Jonathan Reissmueller
made changes -
Time Spent | 2 days, 4 hours, 55 minutes [ 75300 ] | 2 days, 5 hours, 27 minutes [ 77220 ] |
Worklog Id | 11062 [ 11062 ] |
Automated transition triggered when Tyson Phillips (Inactive) merged pull request #41 in Stash -
Status | In Review [ 5 ] | Closed [ 6 ] |
So this is a field that allows embedding HTML as written? What page(s) will this be added to?
What are all of the fields that are expected to be available for substitution?