IP Library Granted Patent US 12,518,247
Granted Patent B2
US 12,518,247 · App. 18/196,672 · Granted Jan 6, 2026

System and method of translating a tracking module to a unique identifier

Inventors: Sean O'Donnell (Dublin, IE); Prabodh Kant Singh (Uttar Pradesh, IN); Gianluca Messinese (Berlin, DE); Nnamdi Ibeanusi (Ontario, CA); Jared Williams (Cambridge, MA)
Assignee: HUBSPOT, INC.
G06Q10/10G06Q30/0201
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,518,247
App. No.
18/196,672
Filed
May 12, 2023
Granted
Jan 6, 2026
Kind
B2
Art Unit
3629
USPC
705/320
Abstract

Techniques are provided for translating a tracking module to a unique identifier and provide for a registration system used to improve the functioning of computer systems, information networks, data stores, search engine systems and methods, and other advantages. The techniques provide for generating an urchin tracking module (UTM) from a globally unique identifier (GUID) and/or for translating the urchin tracking module (UTM) to a globally unique identifier (GUID). The techniques relate to registration systems and processes for using registration definitions in a customer relationship management (CRM)-powered application.

Claims (63)

1 . A method, comprising:

assigning a globally unique identifier to a customer relationship management (CRM) object within a CRM database;

saving a generated tracking module name as an entry in an array within the customer relationship management object;

creating encrypted information comprising an encryption of the globally unique identifier and a value of the entry storing the generated tracking module name;

creating concatenated information comprising the generated tracking module name concatenated with the encrypted information;

parsing a uniform resource locator (URL) received from an application to obtain the generated tracking module name and the encrypted information;

decrypting the encrypted information a number of times corresponding to a number of versions of the generated tracking module name to obtain an object identifier value and a version value for the CRM object within the CRM database;

utilizing the version value as an index into an encrypted portion validation table of the CRM database to validate whether the encrypted information matches a corresponding value in the encrypted portion validation table;

in response to validating the encrypted information, using the object identifier value to provide access to the CRM object within the CRM database; and

in response to unsuccessfully validating the encrypted information, executing a security action to halt a process associated with the application.

2 . The method of claim 1 , comprising:

generating the globally unique identifier using a random number generator configured to generate non-identical globally unique identifiers over a set of globally unique identifiers.

3 . The method of claim 1 , wherein electronic content is selected and provided to users and describes a service provided by a customer of a multi-service business platform that includes the CRM database, and wherein an urchin tracking module uses the concatenated information to track interactions of the users with the electronic content for providing insight to the customer of user interest with the service.

4 . The method of claim 1 , wherein the saving comprises:

adding an auto-indexed entry as the entry into the array, wherein the auto-indexed entry corresponds to a position of the generated tracking module name within the array.

5 . The method of claim 1 , wherein the concatenated information comprises a concatenated generated tracking module name and the encrypted information, and wherein the generating comprises:

assigning the concatenated generated tracking module name and the encrypted information to an urchin tracking module attribute of an urchin tracking module.

6 . The method of claim 1 , comprising:

receiving the URL with an urchin tracking module attribute that is used to create the generated tracking module name.

7 . The method of claim 1 , comprising:

receiving the URL with urchin tracking module attributes used to obtain an attribute value for generating an encrypted object id-version as the encrypted information.

8 . A computing device comprising:

a memory comprising machine executable code; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to perform operations comprising:

assigning a globally unique identifier to a customer relationship management (CRM) object within a CRM database;

saving a generated tracking module name as an entry in an array within the customer relationship management object;

creating encrypted information comprising an encryption of the globally unique identifier and a value of the entry storing the generated tracking module name;

creating concatenated information comprising the generated campaign tracking module name concatenated with the encrypted information;

parsing a uniform resource locator (URL) received from an application to obtain the generated tracking module name and the encrypted information;

decrypting the encrypted information a number of times corresponding to a number of versions of the generated tracking module name to obtain an object identifier value and a version value for the CRM object within the CRM database;

utilizing the version value as an index into an encrypted portion validation table of the CRM database to validate whether the encrypted information matches a corresponding value in the encrypted portion validation table;

in response to validating the encrypted information, using the object identifier value to provide access to the CRM object within the CRM database; and

in response to unsuccessfully validating the encrypted information, executing a security action to halt a process associated with the application.

9 . The computing device of claim 8 , wherein the operations comprise:

generating the globally unique identifier using a random number generator configured to generate non-identical globally unique identifiers over a set of globally unique identifiers.

10 . The computing device of claim 8 , wherein electronic content is selected and provided to users and describes a service provided by a customer of a multi-service business platform that includes the CRM database, and wherein an urchin tracking module uses the concatenated information to track interactions of the users with the electronic content for providing insight of user interest with the service.

11 . The computing device of claim 8 , wherein the saving comprises:

adding an auto-indexed entry as the entry into the array, wherein the auto-indexed entry corresponds to a position of the generated tracking module name within the array.

12 . The computing device of claim 8 , wherein the concatenated information comprises a concatenated generated tracking module name and the encrypted information, and wherein the generating comprises:

assigning the concatenated generated tracking module name and the encrypted information to an urchin tracking module attribute of an urchin tracking module.

13 . The computing device of claim 8 , wherein the operations comprise:

receiving the URL with an urchin tracking module attribute that is used to create the generated tracking module name.

14 . The computing device of claim 8 , wherein the operations comprise:

receiving the URL with urchin tracking module attributes used to obtain an attribute value for generating an encrypted object id-version as the encrypted information.

15 . A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to perform operations comprising:

assigning a globally unique identifier to a customer relationship management (CRM) object within a CRM database;

saving a generated tracking module name as an entry in an array within the customer relationship management object;

creating encrypted information comprising an encryption of the globally unique identifier and a value of the entry storing the generated tracking module name;

creating concatenated information comprising the generated tracking module name concatenated with the encrypted information;

parsing a uniform resource locator (URL) received from an application to obtain the generated tracking module name and the encrypted information;

decrypting the encrypted information a number of times corresponding to a number of versions of the generated tracking module name to obtain an object identifier value and a version value for the CRM object within the CRM database;

utilizing the version value as an index into an encrypted portion validation table of the CRM database to validate whether the encrypted information matches a corresponding value in the encrypted portion validation table;

in response to validating the encrypted information, using the object identifier value to provide access to the CRM object within the CRM database; and

in response to unsuccessfully validating the encrypted information, executing a security action to halt a process associated with the application.

16 . The non-transitory machine readable medium of claim 15 , wherein the operations comprise:

generating the globally unique identifier using a random number generator configured to generate non-identical globally unique identifiers over a set of globally unique identifiers.

17 . The non-transitory machine readable medium of claim 15 , wherein electronic content is selected and provided to users and describes a service provided by a customer of a multi-service business platform that includes the CRM database, and wherein an urchin tracking module uses the concatenated information to track interactions of the users with the electronic content for providing insight of user interest with the service.

18 . The non-transitory machine readable medium of claim 15 , wherein the saving comprises:

adding an auto-indexed entry as the entry into the array, wherein the auto-indexed entry corresponds to a position of the generated tracking module name within the array.

19 . The non-transitory machine readable medium of claim 15 , wherein the concatenated information comprises a concatenated generated tracking module name and the encrypted information, and wherein the generating comprises:

assigning the concatenated generated tracking module name and the encrypted information to an urchin tracking module attribute of an urchin tracking module.

20 . The non-transitory machine readable medium of claim 15 , wherein the operations comprise:

receiving the URL with an urchin tracking module attribute that is used to create the generated tracking module name.

Assignments (2)
SECURITY INTEREST Recorded Feb 12, 2026
From: HUBSPOT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 074818/0036 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2023
From: O'DONNELL, SEAN; SINGH, PRABODH KANT; MESSINESE, GIANLUCA; IBEANUSI, NNAMDI; WILLIAMS, JARED
To: HUBSPOT, INC.
Reel/Frame 065155/0359 →
Continuity (2)
Provisional Application 63341646 · May 13, 2022
Related Publication 20230368135A1 · Nov 16, 2023
References Cited (156)
US 7136941B2 · Nguyen et al. · 2006 [cited by applicant]
US 7580982B2 · Owen et al. · 2009 [cited by applicant]
US 7584114B2 · Estrada et al. · 2009 [cited by applicant]
US 7792835B2 · Bohannon et al. · 2010 [cited by applicant]
US 7831676B1 · Nagar · 2010 [cited by applicant]
US 7984297B2 · Bohannon et al. · 2011 [cited by applicant]
US 7992145B2 · Emerson et al. · 2011 [cited by applicant]
US 8006261B1 · Haberman et al. · 2011 [cited by applicant]
US 8224902B1 · Glasser et al. · 2012 [cited by applicant]
US 8442969B2 · Gross · 2013 [cited by applicant]
US 8594618B2 · Meyer et al. · 2013 [cited by applicant]
US 8706800B1 · Ahmed et al. · 2014 [cited by applicant]
US 8719356B2 · Dillingham et al. · 2014 [cited by applicant]
US 9304862B2 · Simon et al. · 2016 [cited by applicant]
US 9305104B2 · Wu et al. · 2016 [cited by applicant]
US 9317816B2 · Zeng et al. · 2016 [cited by applicant]
US 9356947B2 · Shraim et al. · 2016 [cited by applicant]
US 9665885B1 · Allouche · 2017 [cited by examiner]
US 10115060B2 · Chestnut et al. · 2018 [cited by applicant]
US 10217058B2 · Gamon et al. · 2019 [cited by applicant]
US 10387559B1 · Wendt et al. · 2019 [cited by applicant]
US 10853082B1 · Aleti et al. · 2020 [cited by applicant]
US 10992780B1 · Rudrappa Goniwada et al. · 2021 [cited by applicant]
US 10999416B1 · Verma · 2021 [cited by examiner]
US 11379870B1 · Hewitt, Jr. · 2022 [cited by examiner]
US 12014395B1 · Kaiser · 2024 [cited by examiner]
US 20020099697A1 · Jensen-Grey · 2002 [cited by applicant]
US 20020152254A1 · Teng · 2002 [cited by applicant]
US 20020199194A1 · Ali · 2002 [cited by applicant]
US 20030097617A1 · Goeller et al. · 2003 [cited by applicant]
US 20030208472A1 · Pham · 2003 [cited by applicant]
US 20040034652A1 · Hofmann · 2004 [cited by applicant]
US 20040111327A1 · Kidd · 2004 [cited by applicant]
US 20040122803A1 · Dom et al. · 2004 [cited by applicant]
US 20040260621A1 · Foster · 2004 [cited by applicant]
US 20050160166A1 · Kraenzel · 2005 [cited by applicant]
US 20050188028A1 · Brown et al. · 2005 [cited by applicant]
US 20050210111A1 · Fukudome · 2005 [cited by applicant]
US 20050265319A1 · Clegg et al. · 2005 [cited by applicant]
US 20060059033A1 · Wagner · 2006 [cited by examiner]
US 20060095556A1 · Arnold et al. · 2006 [cited by applicant]
US 20060212931A1 · Shull et al. · 2006 [cited by applicant]
US 20060224673A1 · Stern et al. · 2006 [cited by applicant]
US 20060242140A1 · Wnek · 2006 [cited by applicant]
US 20070011073A1 · Gardner et al. · 2007 [cited by applicant]
US 20070094271A1 · Juschkova · 2007 [cited by examiner]
US 20070136430A1 · Qureshi et al. · 2007 [cited by applicant]
US 20070203996A1 · Davitz et al. · 2007 [cited by applicant]
US 20070299777A1 · Shraim et al. · 2007 [cited by applicant]
US 20080034432A1 · Bohannon et al. · 2008 [cited by applicant]
US 20080168269A1 · Wilson · 2008 [cited by applicant]
US 20080172606A1 · White · 2008 [cited by applicant]
US 20090013041A1 · Farmer et al. · 2009 [cited by applicant]
US 20090019003A1 · Bohannon et al. · 2009 [cited by applicant]
US 20090119268A1 · Bandaru et al. · 2009 [cited by applicant]
US 20090138711A1 · Heimbigner · 2009 [cited by applicant]
US 20090248813A1 · Sawhney · 2009 [cited by applicant]
US 20100161506A1 · Bosenick et al. · 2010 [cited by applicant]
US 20100161735A1 · Sharma · 2010 [cited by applicant]
US 20100186088A1 · Banerjee et al. · 2010 [cited by applicant]
US 20100228777A1 · Imig et al. · 2010 [cited by applicant]
US 20100235915A1 · Memon et al. · 2010 [cited by applicant]
US 20100312837A1 · Bodapati et al. · 2010 [cited by applicant]
US 20110029504A1 · King et al. · 2011 [cited by applicant]
US 20110149725A1 · Zhao et al. · 2011 [cited by applicant]
US 20110179067A1 · Dalvi et al. · 2011 [cited by applicant]
US 20110246287A1 · Wright · 2011 [cited by examiner]
US 20110258218A1 · Hayes et al. · 2011 [cited by applicant]
US 20110307295A1 · Steiert · 2011 [cited by examiner]
US 20120053887A1 · Nurmi · 2012 [cited by applicant]
US 20120191546A1 · Phelan et al. · 2012 [cited by applicant]
US 20120197862A1 · Woytowitz et al. · 2012 [cited by applicant]
US 20120198056A1 · Shama et al. · 2012 [cited by applicant]
US 20120316904A1 · Eder · 2012 [cited by applicant]
US 20130007627A1 · Monaco · 2013 [cited by applicant]
US 20130047034A1 · Salomon et al. · 2013 [cited by applicant]
US 20130054622A1 · Karmarkar et al. · 2013 [cited by applicant]
US 20130073336A1 · Heath · 2013 [cited by applicant]
US 20130138555A1 · Shishkov · 2013 [cited by applicant]
US 20130238715A1 · Sanyal et al. · 2013 [cited by applicant]
US 20130339456A1 · Nikolayev et al. · 2013 [cited by applicant]
US 20140006139A1 · Aggarwal et al. · 2014 [cited by applicant]
US 20140025683A1 · Howland et al. · 2014 [cited by applicant]
US 20140025763A1 · Furlong et al. · 2014 [cited by applicant]
US 20140105508A1 · Arora · 2014 [cited by applicant]
US 20140108309A1 · Frank et al. · 2014 [cited by applicant]
US 20140156681A1 · Lee et al. · 2014 [cited by applicant]
US 20140214974A1 · Kurzanski et al. · 2014 [cited by applicant]
US 20140236663A1 · Smith · 2014 [cited by applicant]
US 20140258169A1 · Wong et al. · 2014 [cited by applicant]
US 20140279622A1 · Bharadwaj et al. · 2014 [cited by applicant]
US 20140280453A1 · Mattison et al. · 2014 [cited by applicant]
US 20140328172A1 · Kumar et al. · 2014 [cited by applicant]
US 20140372363A1 · Chestnut et al. · 2014 [cited by applicant]
US 20140372566A1 · Milne et al. · 2014 [cited by applicant]
US 20150006647A1 · Steinberg et al. · 2015 [cited by applicant]
US 20150032826A1 · Gunaratnam · 2015 [cited by applicant]
US 20150032827A1 · Tyler et al. · 2015 [cited by applicant]
US 20150081611A1 · Shivakumar · 2015 [cited by applicant]
US 20150100896A1 · Shmarovoz et al. · 2015 [cited by applicant]
US 20150154664A1 · Mae · 2015 [cited by applicant]
US 20150170195A1 · Drew · 2015 [cited by examiner]
US 20150188874A1 · Feinstein · 2015 [cited by applicant]
US 20150248490A1 · Myslinski · 2015 [cited by applicant]
US 20150278867A1 · Lerman · 2015 [cited by examiner]
US 20150286357A1 · Penha et al. · 2015 [cited by applicant]
US 20150312187A1 · Menna et al. · 2015 [cited by applicant]
US 20150324469A1 · Keyngnaert et al. · 2015 [cited by applicant]
US 20150347924A1 · Zeng et al. · 2015 [cited by applicant]
US 20150379018A1 · Gur et al. · 2015 [cited by applicant]
US 20150381552A1 · Vijay et al. · 2015 [cited by applicant]
US 20160012364A1 · Filgueiras · 2016 [cited by applicant]
US 20160020917A1 · Tuatini et al. · 2016 [cited by applicant]
US 20160026720A1 · Lehrer et al. · 2016 [cited by applicant]
US 20160036750A1 · Yuan · 2016 [cited by applicant]
US 20160063560A1 · Hameed et al. · 2016 [cited by applicant]
US 20160078455A1 · O'Donnell et al. · 2016 [cited by applicant]
US 20160119260A1 · Ghafourifar et al. · 2016 [cited by applicant]
US 20160156858A1 · Lee et al. · 2016 [cited by applicant]
US 20160180248A1 · Regan · 2016 [cited by applicant]
US 20160226808A1 · Lin · 2016 [cited by applicant]
US 20160232540A1 · Gao et al. · 2016 [cited by applicant]
US 20160307191A1 · Turgeman et al. · 2016 [cited by applicant]
US 20160315969A1 · Goldstein · 2016 [cited by applicant]
US 20160359793A1 · Kraios · 2016 [cited by applicant]
US 20170005954A1 · Shaltiel et al. · 2017 [cited by applicant]
US 20170031894A1 · Bettersworth et al. · 2017 [cited by applicant]
US 20170068982A1 · Vangala et al. · 2017 [cited by applicant]
US 20170103439A1 · Kolb et al. · 2017 [cited by applicant]
US 20170103441A1 · Kolb et al. · 2017 [cited by applicant]
US 20170186042A1 · Wong et al. · 2017 [cited by applicant]
US 20170221089A1 · Zhu et al. · 2017 [cited by applicant]
US 20170264577A1 · Ganin et al. · 2017 [cited by applicant]
US 20170289287A1 · Modi et al. · 2017 [cited by applicant]
US 20170317962A1 · Chen · 2017 [cited by applicant]
US 20170337569A1 · Sasson · 2017 [cited by applicant]
US 20170353410A1 · Gonzales · 2017 [cited by applicant]
US 20180039696A1 · Zhai et al. · 2018 [cited by applicant]
US 20180097759A1 · Brechbuhl et al. · 2018 [cited by applicant]
US 20180097828A1 · Coskun · 2018 [cited by applicant]
US 20180121986A1 · Akkiraju et al. · 2018 [cited by applicant]
US 20180336495A1 · Chestnut et al. · 2018 [cited by applicant]
US 20190251593A1 · Allouche · 2019 [cited by examiner]
US 20190266631A1 · Neuenschwander · 2019 [cited by examiner]
US 20200067861A1 · Leddy et al. · 2020 [cited by applicant]
US 20200143431A1 · Douglas · 2020 [cited by examiner]
US 20200153771A1 · Thies · 2020 [cited by examiner]
US 20200311772A1 · Allen · 2020 [cited by examiner]
US 20210073843A1 · Shepherd · 2021 [cited by examiner]
US 20210150587A1 · Rizvi · 2021 [cited by examiner]
US 20210182255A1 · Hersans · 2021 [cited by examiner]
US 20210334206A1 · Colgrove · 2021 [cited by examiner]
US 20220368593A1 · Shankar · 2022 [cited by examiner]
US 20220374546A1 · Wang · 2022 [cited by examiner]
EP 1662380A2 · 2006 [cited by examiner]
M. R. Felipe, K. M. Mi Aung, X. Ye and W. Yonggang, “StealthyCRM: A Secure Cloud CRM System Application that Supports Fully Homomorphic Database Encryption,” 2015 International Conference on Cloud Computing Research and… [cited by examiner]