Introduction to Records

When an event occurs, data regarding the content related to the event can be collected in generic structure that Bisko provides. A single structure can't be adequeate for all kind of events that's why Records are used. Records provide definition of event tables in which collected data are structured in. Then, these records can be used to save an event or to target a segment. For more information about using records in segments, follow this link Records in Segments

To create a Record these steps should be followed:

1. Record name

Every record must have a name. The name should be descriptive and easier to find or group with similar records. This field is mandatory.

2. Alias

Alias is an alternate identifier for the record name. It should be unique name since it is use in the collection code and also it represents the name of the table where record data are stored. It must start with letter and contain only letters, numbers and underscores. No space and special characters are allowed. This field is mandatory.

3. Description

Description should be a representation of the record and that helps the user to understand record specifics.

4. Record Type

There are three different ways to send events in records:

Web - if the record data are sent using Web SDK. This record type is preselected by default.

Mobile - if the record data are sent using MobileSDK (Android or IOS).

API - if the record data are sent directly to the Bisko Edge API endpoint.

For more information about record collection using WebSDK, follow this link: WebSDK event examples

$Schema$

  var payload = {
    ProductID: 1, //This field is Required.
    ProductName: 'Name of the product', //This field is Required.
    Price: 1, //This field is Required.
    Currency: 'Currency', //This field is Required.
    Quantity: 1 //This field is Required.
};
bsk('record', 'purchase', payload);

On the other hand if we have a record for article read in a blog site, the record will look like the following:

Insert columns section contains a schema on which columns of the table are defined. Schema defined fields are :

1. Column Name

Column name is an identifier of the schema column. This field should only contain alphanumeric characters or underscores and should not start with a number.

2. Column Type

Column type specifies the type of schema column. Available data types are:

  • Fixed String - is used to store alphanumeric data. Its size can be set by user choosing ColumnMaxLength.

  • String - is used to store alphanumeric data. Its size can be set in range [1 to 1,000,000,000] characters.

  • Integer - is used to store whole numbers that range [-2,147,483,647 to 2,147,483,647].

  • Long Integer - is used to store whole numbers that range [-2^{63} to 2^{63} - 1 ]

  • Decimal - is used to store exact numeric that range Decimal256(5) - ( -1 10^(71), 1 10^(71) )

  • Double - is used to store floating-point numbers in range [1.7E +/- 308] 15 digits.

  • Date - is used to store the calendar date.

  • DateTime - is used to store a date plus a time calculated to microseconds. The following are the supported formats.

    General form

    Format

    Example

    dd-MMM-yyyy

    DATEw

    15-JAN-22

    dd-MMM-yyyy

    DATEw

    15-JAN-2022

    MM/dd/yy

    ADATEw

    01/15/22

    MM/dd/yyyy

    ADATEw

    01/15/2022

    dd-MMM-yyyy HH:mm

    DATETIMEw

    15-JAN-2022 17:30

    dd-MMM-yyyy HH:mm:ss

    DATETIMEw.d

    15-JAN-2022 17:30:00

    dd-MMM-yyyy HH:mm:ss.s

    DATETIMEw.d

    15-JAN-2022 17:30:00.0

    yyyy-MM-dd HH:mm

    YMDHMSw

    2022-01-15 17:30

    yyyy-MM-dd HH:mm:ss

    YMDHMSw.d

    2022-01-15 17:30:00

    yyyy-MM-dd HH:mm:ss.s

    YMDHMSw.d

    2022-01-15 17:30:00.0

    dd-MMM-yyyy HH:mm

    DATETIMEw

    15-JAN-2022 05:30 PM

    dd-MMM-yyyy HH:mm:ss

    DATETIMEw.d

    15-JAN-2022 05:30:00 PM

    dd-MMM-yyyy HH:mm:ss.s

    DATETIMEw.d

    15-JAN-2022 05:30:00.0 PM

    yyyy-MM-dd HH:mm

    YMDHMSw

    2022-01-15 05:30 PM

    yyyy-MM-dd HH:mm:ss

    YMDHMSw.d

    2022-01-15 05:30:00 PM

    yyyy-MM-dd HH:mm:ss.s

    YMDHMSw.d

    2022-01-15 05:30:00.0 PM

    yyyy-MM-ddTHH:mmTZD

    YMDHMSw TZD

    2022-01-15T16:30+01:00

    yyyy-MM-ddTHH:mm:ssTZD

    YMDHMSw.d TZD

    2022-01-15T16:30:00+01:00

    YYYY-MM-ddTHH:mm:ss.sTZD

    YMDHMSw.d TZD

    2022-01-15T16:30:00.0+01:00

    yyyy = four digits year.MM = two digits month (01=January, etc).dd = two digits day of month (01 through 31).HH = two digits of hour (00 through 23).hh = two digits of hours (00 through 23) with AM/PM subfix.mm = two digits of minute (00 through 59).ss = two digits of second (00 through 59).s = one or more digits representing a decimal fraction of a second.TZD = time zone designator UTC (Z or +HH:mm or -HH:mm).
  • Boolean - is used to store True or False data values.

  • Array of Strings - is used to store a list of strings.

  • Array of Integers - is used to store a list of integers.

  • Array of Doubles - is used to store a list of floating-point numbers.

3. Column Mode

Column mode can be:

  • Required - if that column is required and should be filled.

  • Nullable - if that column is nullable and can be empty.

Record Presets

Record presets are some columns that can be added in table. These are columns that you're not required to send data since they are automatically collected by the SDK or the enriching service e.g., country, operating system, browser, utm. Some record presets like Device Family and Device Type are selected by default and others can be selected by user.

Device presets are accessible by choosing each Record Type(Web, Mobile, API). Device presets are:

  1. Device Family

    This field is used to store the Device Family of the user e.g., "PC", "Apple".

  2. Device OS Version

    This field is used to store the Operating System Version e.g., "10.15.7".

  3. Device Browser

    This field is used to store the browser of user device e.g., "Chrome".

  4. Device Platform

    This field is used to store the platform of user device e.g., "Mobile", "Web".

  5. Device Operating System

    This field is used to store the Operating System of user device e.g., "Windows".

  6. Device Model Name

    This field is used to store the name of user device model e.g., "Iphone 11".

  7. Device Language

    This field is used to store the language of user device e.g., "cs-CZ".

  8. Device Screen Width

    This field is used to store the width of user device screen e.g., "190".

  9. Device Type

    This field is used to store the type of user device e.g., "Mobile", "Tablet".

  10. Device Input Selector

    This field is used to store the input selector of the user device e.g.,"touch".

  11. Device Screen Height

    This field is used to store the height of user device screen e.g., "1080".

  12. Device Marketing Name

    This field is used to store the marketing name of the user device. This is accessible only by choosing Mobile Record Type.

Utm presets are accessible only by choosing Web Record Type.

  1. Utm Term

    This field is used to store the audience who clicked on our link e.g., "utm_term=keyword".

  2. Utm Campaign

    This field is used to store name of the campaign or promotion you are running e.g., "utm_campaign=thanksgiving+sale".

  3. Utm Medium

    This field is used to store the type of traffic you are receiving e.g., "cpc(cost per click)".

  4. Utm Content

    This field is used to store the type of ad that is beign used e.g., "video".

  5. Utm Source

    This field is used to store the source of the traffic the user is receiving e.g., "Google".

Page presets are accessible only by choosing Web Record Type.

  1. Page Domain

    This field is used to store the domain of the page e.g., "gjirafa.tech", "gjirafamall.com".

  2. Page Title

    This field is used to store the title of the page e.g., "GjirafaMall: Kufje Apple AirPods Max, të kaltra".

  3. Page Referrer

    This field is used to store the address of the web page which is linked to the resource being requested e.g., "https://gjirafamall.com/search?q=opi".

  4. Page Source

    This field is used to store source of the page e.g., "facebook.ccom".

  5. Page Url

    This field is used to store the url of the page e.g., "https://gjirafamall.com/?utm_source=facebook&utm_medium=organic&utm_campaign=button".

  6. Page Clean Url

    This field is used to store the URLs that are meaningul to non-expert users. The UTM parameters are removed e.g., "https://gjirafamall.com/".

  7. Page History Length

    This field is used to store the number of elements in history session e.g., "1524".

GeoLocation presets are accessible only by each Record Type.

  1. GeoLocation Aso

    This field is used to store the Address Supporting Organization of geolocation e.g., "Liberty Global B.V.".

  2. Geo Location Country

    This field is used to store the ISO two letter country code of the user e.g., "XK".

  3. GeoLocation Asn

    This field is used to store the Autonomous System Number of geolocation e.g., "6830".

  4. Geo Location City

    This field is used to store the located city of the user e.g., "London".