The Freshsales Ruby library helps you track the in-app activity of customers using your web application.
STEP 1: Getting started
- Copy this snippet and paste it in the gem file and run bundle install.
gem 'freshsales-analytics', git:'git@github.com:freshdesk/freshsales-ruby-sdk.git'
2. Create a .yml file and name it “fs_analytics_config.yml” in the config folder of your web app.
3. Copy and paste the snippet below in the .yml file you created.
app_token: ‘your freshsales app token’ url: ‘your freshsales portal url’
4. Replace the app_token and url with your app token and portal url. You can find it under Admin Settings > Integrations > Freshsales for web > Ruby
STEP 2: Create leads
You can use the snippet below to create leads, track signups and logins.
sample_contact = {
'First Name' => 'John', // Replace with first name of the user
'Last Name' => 'Doe', // Replace with last name of the user
'Email' => 'john@abc.com', // Replace with email of the user
‘Custom Field' => 'custom field value', // Replace with a custom field
}
begin
FreshsalesAnalytics::identify('john@abc.com', sample_contact)
rescue FreshsalesAnalytics::Exceptions => exc
p '#{exc.err_obj}: #{exc.message}'
End
If your web form has fields that aren’t in Freshsales, you can create custom fields for the same and get the values pushed to Freshsales.
STEP 4: Track Pageviews
You can track the pages viewed in your application using trackPageView from the snippet below.
freshsales.trackPageView('/pricing.html');
STEP 5: Track Events
You can use the snippet below to track all the in-app activities of your users like - adding users, enabling/disabling integrations, password resets, number of logins etc as Events in Freshsales.
To track events,
-
Identify the specific call to action buttons that you’d like to be notified about.
- Call the FreshsalesAnalytics::trackEvent method from the snippet below
sample_event_properties = {
'user email' => 'user@abc.com' //Replace this with the event you want to track
}
begin
FreshsalesAnalytics::trackEvent('Inviting Users', sample_event_properties)
rescue FreshsalesAnalytics::Exceptions => exc
p '#{exc.err_obj}: #{exc.message}'
end
STEP 6: Update lead and contact information
The library also updates lead and contact information through web forms and visitor activity on the webapp.
To update lead/contact information,
- Call the FreshsalesAnalytics::set method from the snippet below.
contact_payment = {
“Payment Id” => 129863,
“Plan Name” => “2 agents”,
“Amount”=> $2500,
“Custom Field” => “custom field value” // Replace with a custom field
}
identifier = “john@abc.com”
begin
FreshsalesAnalytics::set(identifier, contact_payment)
rescue FreshsalesAnalytics::Exceptions => exc
p '#{exc.err_obj}: #{exc.message}'
end