Segment Data Analytics for Indie Developers: KCDC 2023

2 de Jun de 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
Segment Data Analytics for Indie Developers: KCDC 2023
1 de 90

Mais conteúdo relacionado

Similar a Segment Data Analytics for Indie Developers: KCDC 2023

Scaling Large Enterprise Technical SEO - Keith Goode - DeepSEOCon 2021Scaling Large Enterprise Technical SEO - Keith Goode - DeepSEOCon 2021
Scaling Large Enterprise Technical SEO - Keith Goode - DeepSEOCon 2021Keith Goode
Composing Business MessagesComposing Business Messages
Composing Business MessagesAsad Hameed
Distribution Management Strategy PowerPoint Presentation SlidesDistribution Management Strategy PowerPoint Presentation Slides
Distribution Management Strategy PowerPoint Presentation SlidesSlideTeam
Our servicesOur services
Our servicesMianlside
Tree diagramTree diagram
Tree diagramMianlside
HumanHuman
HumanMianlside

Similar a Segment Data Analytics for Indie Developers: KCDC 2023(20)

Mais de Elizabeth (Lizzie) Siegle

Intro to Text Classification with TensorFlowIntro to Text Classification with TensorFlow
Intro to Text Classification with TensorFlowElizabeth (Lizzie) Siegle
Pytexas: Build ChatGPT over SMS in PythonPytexas: Build ChatGPT over SMS in Python
Pytexas: Build ChatGPT over SMS in PythonElizabeth (Lizzie) Siegle
jsday 2023: Build ChatGPT over SMS in Italyjsday 2023: Build ChatGPT over SMS in Italy
jsday 2023: Build ChatGPT over SMS in ItalyElizabeth (Lizzie) Siegle
Generate Art with DALL·E 2 and Twilio MMS.pptxGenerate Art with DALL·E 2 and Twilio MMS.pptx
Generate Art with DALL·E 2 and Twilio MMS.pptxElizabeth (Lizzie) Siegle
AthenaHacks Keynote 2023AthenaHacks Keynote 2023
AthenaHacks Keynote 2023Elizabeth (Lizzie) Siegle
Build a Chatbot with TensorFlow.js and TwilioBuild a Chatbot with TensorFlow.js and Twilio
Build a Chatbot with TensorFlow.js and TwilioElizabeth (Lizzie) Siegle

Mais de Elizabeth (Lizzie) Siegle(20)

Último

Understanding Wireguard, TLS and Workload IdentityUnderstanding Wireguard, TLS and Workload Identity
Understanding Wireguard, TLS and Workload IdentityChristian Posta
Property Graphs in APEX.pptxProperty Graphs in APEX.pptx
Property Graphs in APEX.pptxssuser923120
Netwitness RT - Don’t scratch that patch.pptxNetwitness RT - Don’t scratch that patch.pptx
Netwitness RT - Don’t scratch that patch.pptxStefano Maccaglia
ISO Survey 2022: ISO 27001 certificates (ISMS)ISO Survey 2022: ISO 27001 certificates (ISMS)
ISO Survey 2022: ISO 27001 certificates (ISMS)Andrey Prozorov, CISM, CIPP/E, CDPSE. LA 27001
Metadata & Discovery Group Conference 2023 - Day 1 ProgrammeMetadata & Discovery Group Conference 2023 - Day 1 Programme
Metadata & Discovery Group Conference 2023 - Day 1 ProgrammeCILIP MDG
Demystifying ML/AIDemystifying ML/AI
Demystifying ML/AIMatthew Reynolds

Último(20)

Segment Data Analytics for Indie Developers: KCDC 2023

Notas do Editor

  1. developer who is on marketing, I make demos that use Twilio's communication APIs and work on docs and sample code
  2. What is Segment from the site Some acronyms
  3. What is Segment you ask? Here is a marketing-y definition collect, clean, transform, control, send, and save or archive your first-party customer data (data collected directly by the organization or company. It's straight from the source) helping simplify process of getting data and hooking up new tools allows you to spend more time using your data, and less time trying to collect it (because that process can be a pain) Re. the name Segment: Data Segmentation is the process of taking the data you hold and dividing it up and grouping similar data together based on the chosen parameters so that you can use it more efficiently within marketing and operations.
  4. Who here has heard of a CDP before? I honestly had not until a few months ago when I started delving into using Segment something I had held off on doing because I didn't think it could do much for me, an indie developer If you haven’t worked around Marketing very much, you might not be familiar with the acronym. Let's break it down…
  5. I love shopping so let's start with a consumer example. You're looking to buy a new sofa (and this could be any purchase–a car, laptop, etc) so you do your research because you want to get the best deal while also getting a good item. You probably google some reviews, look at the actual sofa brand's website, maybe watched some YouTube videos, used an app with AR to view the sofa in your room…then you might visit different sites to see what the prices are, compare costs and how to buy, and more. Throughout this long process, chances are you interacted multiple times with the company that you ultimately purchased from — through website visits, live chat, social media ads like Facebook or Instagram, and email. each interaction with that company resulted in an experience that felt more personalized to you. The ads you saw on Facebook felt extremely relevant to you, the website may have made subtle changes to seem more personal to what you were looking for, and their email follow-up, despite the fact that it was automated, felt like it was crafted for you. How was the company doing all of this? It’s likely they were using a Customer Data Platform (CDP) to tailor their marketing to you
  6. I know this slide's graphic requires immense SEGMENTAL fortitude! The best way to explain this is by example. Say your company has a website. And maybe a mobile app or 2! You want to get a better understanding of your customers. And if your frontend is node, you might have a bunch of server-side code that provides it with data. Heck, you might even have Twilio implemented to handle incoming calls! And let’s imagine that your whole customer interaction layer is working well together and you have no complaints. So you’re golden, right? Someone from your marketing team asks if they can set up a tool. (click) Then another. (click) The requests keep. (click) On. (click)Coming. (click) Other business units and even IT folks start asking for things to be attached! If you built this into your system piecemeal, you probably now have multiple analytics libraries loaded when your app runs (causing bloat). You probably have slower performance of your system, or higher compute costs (because you have to send the data to all the different tools). Your customer experience may even be trending downward now because of the delays. And your engineering team is absolutely eaten up with firefighting/maintenance requests. You might be curmudgeonly about it and tell those marketing folks to take a long walk off a short pier, but that’s not helpful; they’re out there trying to sell your product. Pretty soon, you’re maintaining this…a spiderweb of complexity and pain. How would we design this to be easier to work with? Their CDP would be used to collect data from touch points like Facebook, the company’s website, email, maybe an app if they have one, and any other place a customer might interact with the company. The CDP will collect all of those data points, consolidate them into an easily understandable unified customer profile, and then make that profile usable to other systems that might need it — like the Facebook ads platform.
  7. This is what Segment does for you: cleans it up so that all the data flows to a single central point, and then gets distributed. Now, that huge spiderweb is gone, it's less messy, more clean. On the left, we have Source apps which only talk to Segment - this means they don’t have to have a laundry list of tracking systems to report to, just one place to drop off events. This has an added benefit of ensuring that the same data is available to all the tools… no more worries about whether one integration missed a certain type of data because of how it was implemented. On this side, the destination side…destination apps receive the data. There are over 400 integrations available in our catalog. So sending the data to one of those is an operation that takes just a few minutes to complete, and you don’t have to maintain the integration code. That in itself would be a win, but Segment doesn’t stop there…
  8. Has anyone used a CRM (Customer relationship management) before? Salesforce is something of a CRM, while Segment is a CDP: From the Salesforce website: A CRM, or Customer relationship management, is a ____ The goal is simple: Improve business relationships to grow your business. A CRM system helps companies stay connected to customers, streamline processes, and improve profitability.
  9. Despite their similar names, both serve a distinct purpose with a tangible effect on the bottom line.According to Salesforce, CRMs rank as the most common technology used by high-performing companies to manage their marketing data, with CDPs following closely behind. They both rank so highly because they’re not mutually exclusive. They serve different purposes and are often used in tandem to provide a consistent, personalized customer experience. A CRM manages all your company's relationships and interactions with customers and potential customers.
  10. It's worth a SEGMENtion that the difference between a CRM and a CDP comes down to this: CRMs help manage customer relationships, while CDPs help manage customer data.
  11. Normalized data is critically important. Every engineer has encountered those scenarios where the content of a field in system A doesn’t match exactly with the same field in system B… “USA vs US vs United States”... using Segment you get the ability to funnel all those into a standard value that all your systems share. Segment has an identify() call also means that your events are directly associated with a user entity who performed them. This makes it invaluable for UX research, for planning customer interactions, and of course for marketing and sales teams. Segment’s more advanced features give you the ability to start acting on the data right away. Using Personas you can start to create cohorts of your customer base that meet certain criteria, and feed them into specific destinations for marketing campaigns. If you have some more complex logic that needs to be executed first, you can use Segment Journeys to decide the proper course of action and build customized delightful experiences. And… with protocols, you can control which destinations get which data. So your compliance folks will be happy because you can keep PII out of the tools that aren’t approved to have it while passing that same data to the ones that are approved.
  12. Again…Segment as a CDP. It is a datastore collecting data to help you shape a complete picture of your customer so you can customize and personalize what you show them. Segment pulls data from mobile apps, websites, and data warehouses (types of databases that integrate copies of transaction data from contrasting source systems and provisions them for analytical use) Segment is like the middleman and helps you collect, transform, send, and archive your first-party customer data from those sources. Segment calls them Sources and then passes them on to Destinations, such as marketing, product, and analytics tools and data warehouses. In most cases, you won’t even need to touch your tracking code to connect to new tools.
  13. In a nutshell, the Segment Sources see what is happening in your site or app, and send that data to the Segment servers for Segment to use. You create a source (or more than one!) for each website or application you wish to track. Website sources: JavaScript (add it to your website code to see what is happening in your site) or in Shopify store to capture every customer touchpoint, including sales, marketing, customer and product performance data like adds to cart, checkout steps, sales and refunds/returns (click) (click) Mobile sources include AMP, a web component framework to easily create user-first experiences for the web, Android, iOS, and more. (click) (click) Other Sources include server-side Go, Clojure, .NET, PHP, Ruby, Clojure apps and sites, Facebook Ads, Google Ads, Looker, Intercom, Salesforce, Stripe, and more
  14. What do we do with that data from Sources? Sources send data into Segment, while Destinations receive data from Segment. Destinations are other tools that analyze and work with the data sent by Sources. There are five types of sources: Web, Mobile, and Server sources send first-party data from your digital properties. Cloud-app sources send data about your users from your connected web apps, for example a ticketing system such as Zendesk, a payments system such as Stripe, or a marketing tool like Braze.
  15. With Sources and Destinations, what might your data journey look like? You pull all this data and information from Sources and can route it and store it to Destinations. Segment offers tools and functions to save the data, analyze it, and group it together so you can have a full picture of a user and their journey. You can track button clicks, page views, and more to see what path led them to completing a task like, say, a purchase
  16. oh lol this gif Serena recently announced And yet..but..I'm going to be honest here…I'm not sure how this can help me as an indie developer. This all seems pretty marketing/sales-heavy, like if you want to track leads and if something leads to a credit card being swiped. I get why that is important to companies, but what about individuals? Indie developers, if you will?
  17. Who here has a personal website? *raise hand* Well, this is mine! It has a lot of buttons!
  18. I'm going to show you one way Segment can aid you as an indie dev: this is how I set up an app so I get a text message whenever someone visits my personal website or clicks a button there. (My friends think this is creepy and kind-of weird, and I don't actually think they're incorrect.)
  19. Storytime: I made an app recently to text me when someone visits my personal website and tells me what buttons they clicked. Here's a real conversation I had over Twitter DM this week where I knew who specifically visited my site because I got a text saying someone clicked the Twitch button, and it was right before I got an email notification saying I had a new Twitch follower. My friends and family don't think it's good for my SEGMENTal health, but this is one example of using Segment and Twilio for indie devs . But to get started…
  20. I made a Segment account and here is my Segment workspace, I click Sources to…you guessed it…add a source!
  21. Then from your List of Sources, click the blue Add Source button.
  22. From the Catalog of Sources, under Website select JavaScript followed by Add Source. Because this is a website, we will use Segment's Analytics.js library. It lets developers send their data to any tool without having to learn, test, or use a new API each time. It makes it easy to send data from your website to Segment and any destination
  23. In Source setup, give your Source a name–for example, Personal Website. You can leave Labels blank, and then add the Website URL. In my case, my personal website is https://www.lizziesiegle.xyz. (why .xyz you ask? Because I'm cheap! It cost less than .com, and it definitely cost less than .dev!)
  24. We will be using Segment's basic tracking API, which has six calls, to answer a few specific questions: Among these calls, you can think of Identify, Group, and Alias as similar types of calls, all to do with updating our understanding of the user who is triggering Segment messages. You can think of these calls as adding information to, or updating an object record in a database. Objects are described using “traits”, which you can collect as part of your calls. The other three, Track, Page, and Screen, can be considered as increasingly specific types of events. Events can occur multiple times, but generate separate records which append to a list, instead of being updated over time.
  25. After clicking Add Source, Segment will provide you with code similar to the one below to include in your HTML file's <head> element. That code adds Segment's Analytics.js library so we can send data from our website to Segment and any Destination. Add this to your website's <head> element. Though Segment gives us this code, let's look at it: they create an analytics variable, and then call analytics.load() and analytics.page().
  26. Analytics.load() does, you guessed it..loads the library! But what about analytics.page()? The page call lets you record whenever a user sees a page of your website, along with any optional properties about the page. You could add an optional name or properties to the default call, or call it multiple times per page load if you have a single-page application. Here’s the payload of a typical page call with most common fields removed:
  27. You can check that Analytics.js is working with your website by doing some computer hacking and inspecting your website and checking that the analytics variable exists–this can be done both locally and also on a deployed site.
  28. That's how you setup a website (such as your personal website) as a Source in your Segment Workspace. Now, Segment has an API call called track to let developers record any actions their users perform, along with any properties that might describe the action. Properties are extra data points you can connect to events you track. It's recommended that you send properties whenever possible to provide a more complete picture of what your users are doing. A track API call for a registration button could look like this: there's our `analytics` variable from the last slide, we call it "User Registered", and pass it some properties about, you guessed it, registering!! Registration. (click) (click) That code would generate the following payload. We'll go over other Segment API calls soon.
  29. In your HTML, add button onclick vents and pass it `analytics.track` with some event name: here, it is "dark mode button clicked". In this case, this is tracking the dark mode button on my website so each time the dark mode button is clicked, (click) (click), the action appears in the Segment workspace. You can also see the "/" which means the page was visited.
  30. So that is how to get started adding your website as a Source. Now what about a Destination? Here we have the code for a Twilio Serverless Function containing JavaScript which has a public-facing URL we can hit with request so we'll hit or trigger this Function from Segment whenever a button is clicked. The most important lines of code here are lines 3 and 4: here, we get whether our website was visited with `event.request.headers.viewed` or if a specific button was clicked with `event.event`. We set the `body` variable to be one of those variables and then Twilio sends a text message to me (or it could be anyone) saying what action was taken on my website.
  31. Remember, Destinations receive data from Segment This is what that'd look like in the console: back in the Segment Console beneath the blue Copy Snippet button, click the blue Add Destination button. (click) (click) Search the Destinations Catalog for webhook and select Webhooks. (click) (click) Then click the blue Configure Webhooks button. (click) (click) We set the data source to be our website and now to setup the webhook, we give it a Destination name. This is where we put in the Twilio Serverless Function URL ending in /segment and set a header to be something like you see below. This will alert the Function when the Destination site has been viewed. There's code to detect button clicks in your Destination site's HTML. Now click the blue Save button and tada! When someone visits your website and/or clicks a button, you will be notified via (click).
  32. SMS This is one way to use Segment, especially for indie developers. How can we take it further?
  33. So, tracking page visits and button clicks in a website uses Segment's analytics.js library. With that, you can track almost anything. The Segment Identify call lets you tie a user to their actions and record traits about them. It includes a unique User ID and any optional traits you know about the user, like their email, name, etc. You don't need to have a login system to track a user: If the user isn't logged in, Segment will create a unique ID for the entity and lump/hold that information together- then if the user registers later, once they're marked by the identify() method, all their previous activity can be associated with them A possible use case without having a login system could be an IoT application where you tag something and then follow it through a process. Maybe you could have like geofencing or RFID (A radio frequency identification reader) scanning stations on an assembly line or something
  34. The screen call lets you record whenever a user sees a screen, the mobile equivalent of page, in your mobile app, along with any properties about the screen. Calling page or screen in one of Segment’s sources is one of the first steps to getting started with Segment. Each screen can be tagged with a name. For example, many apps have a “home” screen that can be useful to tag so that you can see visitors as they move through your flow.
  35. Indie developers probably don't need to pay too much attention to customer data types, but it's important because it's about trust, privacy, and security. So first-party data collected directly by the organization or company. Straight from the source Second party data is collected by a trusted partner and then shared. It's first-party data from another trusted source that probably shares a similar customer base. Third party data is collected by an outside source, not from the direct relationship between a customer and a company. It's aggregated from various sources.
  36. Why are the distinctions between data types and how they are collected important? When it comes to customer data, not all data is created equal. These different types of data are collected from various sources, are used for different purposes, and are even subject to different requirements under regulations like the General Data Protection Regulation (GDPR). it informs you on how your customers use your products or services, and helps create a more personalized customer experience. (click) (click) First-party data includes information on which products a customer views or purchases from you, how often they visit your website or mobile app, and even data that’s stored in your CRM. For the most part, your customers understand that you are collecting this data—for instance, providing it via a form completion—and expect that you use it to provide an intuitive user experience as they continue to engage with you going forward.
  37. A core feature that is of interest to all developers and builders are the integrations. This gets me excited because though there are tools for enterprise companies like A/B testing (you can compare different website or app designs to see which increases engagement like button clicks, or how long it takes for a visitor to do something on your site. You have to ask…what is your goal of your website? With personal sites, it's often to showcase your resume and skills. With side project sites, it could be a joke app like playing music or a gif), customer success, advertising, attribution, and things like that, there's also (click) (click) live chat integrations,
  38. Payments integration
  39. or work with raw data–you can save it to a variety of Functions or Buckets. With Azure Functions, you can run code on-demand without having to explicitly provision or manage your own server or infrastructure, or run a script or piece of code in response to a variety of events
  40. There's also heat maps and recordings, which help you record user actions like mouse movement and scrolling–what do they stop on? What gets them engaged? What if they leave the tab or page?
  41. trigger a tweet with the API! Make a HTTP request to tweet after a page visit! Light up an IoT device like a raspberry pi, make a car move depending on button clicked shopping app and someone clicks a product then adds it to their cart but doesn't purchase it. Have a text sent to them later to remind them they never bought it track time spent on page, mouse movement: what gets your users/site visitors excited or engaged? In short, data might surprise you. You never know what might be of interest to you, or what might come in handy. The sky is the limit!