Objective
Applies To
For customers with a security policy that restricts the use of 3rd party scripts or vendor scripts to load additional configuration from external sources (such as the library and tag revision), or for customers who prioritize minimizing HTTP requests on their pages, self-hosting the Invoca Tag can be a beneficial solution.
By opting for self-hosting, customers can eliminate two out of the three HTTP requests typically made during a page load with the Invoca Tag.
Procedure
1. Obtain the latest version of the Invoca JavaScript Library
- Either copy or save the page locally.
- Upload the library to wherever you will be hosting it and be sure to grab the path to the file if you will be using the static tag snippet.
2. Deploying Library and Invoca Tag JSNow that you have downloaded the Invoca JS Library, you will want to be sure you call it to the page via the header from wherever you are hosting it.
The next step is to grab the Invoca Tag JS, this is the code that handles all of the number swapping and attribution settings. You have two options here;
- You can grab the static snippet and still leverage the Invoca Platform UI for iterating versions, testing, and changing history,
- Or you can grab the raw JS and host that directly as well. This will ensure all JS is hosted by you but requires redeploys anytime you want to make any updates to the tag or attribution logic.
- Static Snippet
- If you decide to leverage the snippet and all the benefits of the Invoca Tag Wizard, simply copy it from the platform once your tag is created, and edit the highlighted portion to reference the URL where you are hosting the JS library:
- Once this is done, simply paste this snippet into your footer or tag manager and you are ready to go.
- Raw Tag JS
- If you want to completely self-host and lose all of the benefits mentioned above, you can simply create the tag and apply the settings you want.
- Click the tag revision and the triple dot icon in the upper right corner.
- Click 'Preview JS'. This will bring up the entire JS body of the tag, which you can copy and either paste directly into your global footer, or into your tag manager as long as it is after the library script.
-
Additional Information
- The Invoca Tag Wizard and Tag Snippet are designed in a way that a single snippet of code is all that is needed to deploy, and from there on the marketers can utilize Marketing Data and the Tag Wizard to automatically adjust and add data points to be collected for attribution as well as other tag options that determine campaign and call routing behavior. They do this all without involving a dev team or getting on a deployment cycle.
By self-hosting, the customer loses some of this speed and flexibility from the marketer's standpoint. - The self-hosting will not get automatic updates to the library, and customers must periodically get the latest from Invoca and work with their internal dev team to push live.
- These updates include requirements for additional features (in the past for instance, when attribution models were added, and when auto-creating of RingPools was enabled, etc), as well as performance improvements, bug fixes, enhancements when new browser capabilities are released
- Any changes made in the tag wizard (adding new Marketing Data Fields, changing the data source of fields, attribution window, adding integrations, etc) will require pushing the configuration live with the internal dev team.
- Invoca updates the JS library several times a quarter with improvements and bug fixes. So in turn, the customer will need to download new versions of the JS libraries periodically as often as possible. It is recommended that they get on a regular cadence to use the above process for getting the latest library version periodically.
It is important not to modify the original library source, so that updates are seamless.