A brief summary of what is tracked when a transaction completes is below. If you require any further help please chat to us or email our support team.
The services triggered depend on the code snippets you already have on your page. As an example, if you have added the Google Analytics and Facebook code that they supply to your page SmartTRACK will detect these and fire a conversion event (as outlined below) when the donation, event ticket purchase or membership has been paid for i.e. conversion complete.
Supports NXT forms, Online Express donation, event and membership forms
Tracking Services
Facebook Pixel:
- Tracked as a purchase with:
- trackid: Unique reference (can also be passed to RE if you add a text gift attribute to an OLX form with description 'Tracking ID')
- Amount
- Currency
- City
- Country
- Page name prefixed by OLX: or NXT:
- Form id
- Content type 'product'
Google Analytics (LEGACY TRACKING):
Make sure you have enabled ecommerce tracking on your Google Analytics account and you can see more details here including screenshots of where to view the results:
- Tracked as an e-commerce transaction:
- id: Unique reference (as above trackid)
- affiliation: Page name prefixed by OLX: or NXT:
- Amount
- Item details within the transaction:
- id: Unique reference (as above trackid)
- name: 'Donation'/'Event'/'Membership'
- sku: Form id
- category: Page name prefixed by OLX: or NXT:
- Amount
Google Analytics v4 (GA4):
Google are migrating all users to GA4 (gtag detected) - if we detect this on the page we will use this instead of the above legacy tracking unless clients request us to override this for their domain. Data tracked for the new version is:
- Tracked as an purchase event:
- currency: Detected currency
- transaction_id: Unique reference (as above trackid)
- value: (equivalent to amount)
- affiliation: Page name prefixed by OLX: or NXT:
- city
- country
- Item details within the transaction:
- item_id: Unique reference (as above trackid)
- item_name: 'Donation'/'Event'/'Membership'
- item_category: Page name prefixed by OLX: or NXT:
- price
- quantity
Note there are guides on setting up and testing GA4 here (not affiliated):
- Testing it is working: https://www.analyticsmania.com/post/check-if-google-analytics-4-is-working/
- Set-up article: https://www.analyticsmania.com/post/how-to-install-google-analytics-4-with-google-tag-manager/
Google Tag Manager:
If you enable GTM support (Google Tag Manager - dataLayer detected) when creating the SmartTRACK snippet it will also track to GTM:
- event: 'Donation'/'Event'/'Membership'
- transactionId: Unique reference (as above trackid)
- transactionAffiliation: Page name prefixed by OLX: or NXT:
- transactionTotal: Amount
- transactionProducts:
- sku: Form id
- name: 'Donation'
- category: Page name prefixed by OLX: or NXT:
- price: Amount
- quantity: 1
Bing:
SmartSTORE OLX mode
If you use our store product SmartSTORE OLX then you will see enhanced Google tracking. Each line of the order is passed to Google Analytics as part of the overall order so you can then analyse the data in the ecommerce area of the Google product.
The overall order name is changed to 'SmartSTORE' and for each line item we pass:
- SKU: Product ID (if no product id is specified we generate one based on the product name i.e. Additional Donation => additional_donation)
- Name: Product name
- Price: Unit price
- Quantity: Quantity
SKU mode
If you enable the SKU option when generating your SmartTRACK snippet the SKU is updated from just the form id to append ':Donation:[Direct_Debit/Credit_card/Bill_me_later/Default]' so you can analyse the type of donation via the SKU in whichever tracking systems support SKU.
Optional: Add donation source info into RE with the gift and event details
SmartTRACKs built in tracking script adds the below values to attributes submitted with OLX donation and event forms. This means you can analyse your traffic sources in NXT itself. All you need to do is add attributes with the names outlined below to the forms. Each attribute needs to be defined in RE as type: text, 1 per record, active. When someone views one of your forms the attribute values will be filled in the background by SmartTRACK and the rows hidden from the user.
- Tracking Source (utm, organic, referral, typein)
- Tracking Type (google, bing, yahoo etc.)
- Tracking Campaign (Google ad value utm_campaign)
- Tracking Medium (Google ad value utm_medium)
- Tracking Content
(Google ad value utm_content)
- Tracking Keyword (Google ad value utm_term)
- Browser (Opera, Safari, Firefox, Internet Explorer, Edge, Chrome, Blink, Unknown)
- Browser Type (Desktop or Mobile)
These SmartTRACK values will be added to attributes with the bolded names i.e. 'Tracking Source' if they are added to your OLX form
Custom tracker support
Now supports custom JavaScript tracker, just define your own
function customTracker(obj) {...}
JavaScript callback to call your own tracking script post donation/event booking. The object 'obj' passed to your tracking script has the following properties:
- id: The instance ID of the form (a unique ID for the transaction)
- affiliation: OLX: or NXT: [the page title]
- revenue: transaction amount
- name: Donation/Event/Membership
- currency: GBP/AUD/USD etc.
- city
- country
- sku: ID of the form (uniquely identified the form)
- form_type: Donation, Event, Membership, SmartSTORE, Recurring donation, Pledge to give
- designation: Designation/Fund selected in the form if the form has a choice. This is the text version of the fund i.e. Student Fund
- designation_index: The index of the chosen Designation/Fund in the drop down with the first entry being 0, then 1 and so on.
- payment_method: Default (no option shown on the form so default used), Credit_card, Bill_me_later, Direct_Debit etc.
- smartstore_detected: Yes if our SmartSTORE product has been detected and integration enabled.
There is also a global variable
SmartTRACKCheckoutData which holds information passed to the checkout process of Blackbaud Payment Services. This includes the name, address, amount and other details for the NXT form. Details of the fields are available
here.
Return value from custom tracker: If the custom tracker function returns a Boolean 'true' then the confirmation message is not shown to the user as it is assumed a page redirect is in progress. NOTE: The custom functions redirect should use the following code:
- setTimeout(function() { window.location.href = '[DESTINATION URL]'; }, 1000);
to allow any trackers to fire before the redirect.