7 quick wins to speed up your site analysis techniques in Google Analytics

Analysis and reporting are the most time-consuming aspects of site or app performance tracking in Google Analytics. If you ever wished or thought if only it was quicker, then this post is for you. There are a number of techniques you can implement to speed up your data analysis and number crunching. Here I’ll cover 6 of them. Schedule email reports Google Analytics dashboards are a great way to monitor metrics that are important for your business. But instead of logging in every day or week, or however often you tend to check them, schedule automated email reports instead. At Littledata, we have a select few metrics that we keep track of on a weekly and monthly basis. The whole team gets an email report on a specified day, allowing everyone to get the latest stats without someone on the team having to get those numbers manually every time. To set this up, go to the dashboard that you want emailed to others (or yourself), click ‘Email’ and fill in the details. If you're scheduling the email to go to your team on a regular basis, why not add a nice message in the email body. To edit the scheduled emails you've set up previously, go to Admin > View > Scheduled Emails (towards the bottom of the list). Access your reports quickly Shortcuts in Google Analytics allow you to quickly view the reports you use most often. Even better, they remember the settings you applied to any report. So if you apply an advanced segment or another customisation to the report, saving it as a shortcut will remember your preferences. Except for the date range - that won't be remembered. You can find the shortcut option just below the report title, and once added, you'll find your shortcut reports at the top of the reports list in the left panel. Search for reports you can’t find If you find yourself wondering where a particular report is, use the search found at the very top. Instead of having to go through an extensive report list trying to find something you vaguely remember seeing last month, you get suggestions of what you might be looking for as you type. So you only need to remember or guess part of the report title that you're looking for. Use keyboard shortcuts Did you know Google Analytics has keyboard shortcuts? They allow you to move around the report much quicker and the date range keyboards make a big difference to a workflow. Picking date ranges can be tedious and annoying so I've found these to be the best. If you're already using keyboard shortcuts on your devices, you won't need convincing of their usefulness. To view this complete list of shortcuts in Google Analytics at any time, use a shortcut: ? Set up goals to understand your website visitors Goals are valuable in understanding how well your site or app helps you achieve your objectives. Unfortunately, we see a lot of businesses who either find it too complicated to set up or have done it incorrectly. Speaking from personal experience, it only takes a little practice to get the hang of it, and once setup, you get essential conversion data in your reports. You'll be able to evaluate your marketing efforts and campaigns much more effectively. Check out Google's guidance on goals and my guide on how to set up a destination goal funnel. See trends quickly with Littledata reports We have a clever tool that looks through all of your Google Analytics data and finds the most interesting changes to report on. There are over hundred of GA reports so getting automated summaries that you can act upon will save you hours of work. Littledata tool doesn't require installation and it's quick to set up - all you need is an existing Google Analytics account to sign up with for free. The reports you'll get are also great for presenting to colleagues in meetings, as other users have said. To get your reports, go to Littledata homepage, enter your website into the box and click 'Get started.' We're also working on bringing you benchmarking information, customised tips on how to improve your Analytics setup and what you should be tracking. Pro tip: Manage complex data with query explorer tool Whilst, not the quickest to get used to, Google's query explorer tool can be powerful for those working with large and complex datasets. Some of our biggest clients' websites get millions of hits a month, which can cause discrepancies in data analysis (especially when data is sampled). So I use the query explorer tool to verify the data that clients ask for. To use this tool, you will need to know your metrics from dimensions and learn more about how to use segments, filters and query building.   If you've got questions on any of the above, don't hesitate to comment below or get in touch!  

2015-10-15

How to track registered users with Google Analytics and Google Tag Manager V2

Wondering if Samsung Galaxy is more popular than iPhone when engaging with your content? Then set up the User-ID view to see your logged in users’ activity and evaluate behaviour by the device. With the activity data you collect in the registered users view, you can improve the analysis of your customers' behaviour by seeing which devices are used to sign up and access your website. To summarise the benefits: You get access to the Cross-Device reports, which allow you to analyse which devices your users use to engage with your content. See what the Cross-Device reports look like. You improve your understanding of logged in users who often engage with the site's content differently than those who aren't registered. You get a more accurate user count. In your standard analytics view, a new user is counted every time your site visitor switches to a new device or starts a new session. With the registered user view, you give each user a unique ID, which helps to stitch together various activities carried out by the user. You can find out which devices users prefer for different engagement activities across multiple sessions. This helps with tailoring your campaign and content to different devices and activities. To set this up, you need to have the user ID stored in the data layer. If you don't have it set up, scroll to the bottom for an advanced hack. Now let’s look at how to set up the tracking by using Google Analytics and Google Tag Manager V2. Looking to implement the User-ID in your tracking code? Check Google’s guidance. Enable the feature in Google Analytics Firstly, enable the User-ID feature by going to  Admin > Property > Tracking info > User-ID. Read through the short policy on what you’re allowed to track and not. Google is very strict about tracking personally identifiable information so you are not allowed to send any personally identifiable information, such as names and email addresses. But numbered IDs or hashed emails are fine to use. To agree to the terms, follow the steps and click ‘create.’ Create the variable in Google Tag Manager Now go to GTM variables and click 'new'. Select Data Layer Variable type and use the name stored in your data layer, e.g. uid or user ID Add the variable to your pageview tag Go to edit your pageview tag and click on More settings > Fields to set. Click Add field, enter the field name as &uid and select the variable you’ve just created - eg {{uid}} or {{userID}}. Test you're seeing activity in the newly created registered users view with your login, or a test one if you have it. Don't forget to publish your GTM container for tracking to work. Advanced hack If for some reason you can't get your developer to store a user ID in the data layer, there is a way around it. We've created a javascript variable to get a username off the page and hash it prior to sending it to GA. For this, you need to pick a custom Javascript type variable and enter the script below into the custom javascript field. This javascript requires either your developer or you to customise it to work on your page (see the notes in the second and third lines). function() { //dependent on using Jquery selectors //replace '.menuTitle small a' with the selector for your username var name = $('.menuTitle small a').text(); var hash = 0, i, chr, len; if (name.length == 0) return hash; for (i = 0, len = name.length; i < len; i++) { chr = name.charCodeAt(i); hash = ((hash << 5) - hash) + chr; hash |= 0; // Convert to 32bit integer } return hash; }; If you need help with any of the above, don't hesitate to comment below or get in touch!

2015-08-19

How to remove referral spam from historical data in Google Analytics

This is a quick follow-up to my guide on how to exclude referral spam from your Google Analytics data. Filters exclude or modify the data from the time you add them and don't have any effect on previous traffic. This is where segments are very useful. Not only can you use a segment to view a cleaner version of your historical data but you can also test the setup of your filters. I've also found the Google's filter verification option quite unreliable but with the segment, you can verify the results yourself and see results straight away. Here I am going to show how to add segments to include valid hostnames and exclude spam referrals from your data. Add a segment to include valid hostnames Creating a filter to include visits from valid hostnames only is the first step you need to take to exclude spam referrals from your Google Analytics data. Test your valid hostnames regex by firstly going to Audience > Technology > Network > Hostname. Create a filter by clicking on ‘Add segment’ and then ‘New Segment’. Now select the conditions tab on the left, under advanced. Set up your filter with the following conditions: Sessions Include Hostname Matches regex (and your regex, eg yoursite|googleusercontent, in our case it's littledata|googleusercontent) Click on ‘Preview’ button on at the top to check which hostnames you are left with. Your list should look much cleaner and only display domains you used in regex. Add a segment to exclude referral spam Like before, you want to test this trigger when viewing a relevant report so go to Acquisitions > All Traffic > Referrals. Create a segment with the following details: Sessions Exclude Medium exactly matches referral AND Source matches regex (and your regex) Whilst filters have a limit of 255 characters, the advanced segment has much more character space to use. I've bundled all spam referrals into one long regex of 900 characters. But as explained in the guide on removing spam traffic you might have to break it up into multiple expressions or filters to fit them all in. By adding those two segments you can not only test that your filter setup is accurate but also view your historical data without fake traffic. If you need help with any of the above, leave a comment below or get in touch!

2015-07-30

Tracking web forms in Google Tag Manager V2

Do you know how many people start completing forms on your website, but don't complete them? Do you know which fields cause them difficulties? This is a guide to field-by-field form tracking using GTM. By tracking each element of the form separately, you will see how many people start filling out the form but then decide not to submit it. Once you understand where people drop off you will be able to identify any parts of the form that may need improving. The enquiry form on our website has four elements that I am going to track: the name, email and subject fields, and the button to submit the query. In summary, the set up will work like this: Create a trigger that will act as the firing rule for the tag Create a tag to track clicks on the field Repeat for each field So to set up the tracking of form fields and submits in GTM V2, follow these steps. Enable built in variables Firstly, you will need to enable built in variables. You will need Form ID variable and if similarly to our site you have the same enquiry form placed on several pages, then Page Path variable as well. These variables will allow you to track clicks on the form and on which pages the form was clicked on. The page path variable returns the URL part that comes after your main domain, eg /blog. Create the trigger For your trigger, you will need to find out the field ID you want to track. To find out the ID, if you are using Chrome browser, right-click on the field and select ‘Inspect Element’ It will look something like id=”name” so name here is the unique ID that you need to use with the trigger. If you do not have a unique ID associated with the field you want to track, ask your developers to add it in. This will make the tracking much easier. Now in GTM, go to Triggers tab on the left and click 'New'. You are creating a 'click' trigger, which you want to fire on 'all elements'. Save the trigger. Create the tag Go to Tags tab and click 'New'. Select Google Analytics and tag type 'Universal Analytics'. I send the following event tracking parameters to GA: Category: Enquiry form Action: Click on name Label: {{Page Path}} Now select 'Click' to select the trigger ‘Click on name’ as your firing rule. If there are any pages where you don’t want this tracked, then you will need to create a separate blocking trigger. Here is an example of a trigger for a contact us page that I want to exclude from tracking here. You can create your blocking trigger in a pop up window without leaving the tag. Repeat Follow the steps above to create the trigger and tag for each following field, and amend form ID’s and event field values for each. Test your tags in GTM debug mode and GA real time to make sure the details sent through are what you want. Once tested, publish your container and if you need any further help with any of the above, leave a comment below.   Further reading: How to track file downloads in Google Tag Manager V2 Tracking registered users with Google Analytics and GTM V2

2015-07-17

How to remove referral spam from Google Analytics

The issue with the referral spam in Google Analytics exploded in May when we saw an average of 620 spam sessions per GA property and just the other week, I saw an account where spam accounted for 95% of the traffic! Spam referrals are greatly skewing your Google Analytics traffic and becoming a headache for a larger number of people. Why are these spam sessions appearing in your Google Analytics traffic? To get you click through to their site and ads (never ever do that, by the way). By targeting thousands of GA accounts like this, you can imagine how much traffic they get from those more curious about their new source of visits. There are two different types of spam referrals you are getting: Ghost referrals send fake traffic to your GA account by “attacking” random GA property IDs. Crawler referrals crawl your website to leave a mark in your traffic. The spam referrals are getting more persistent and clever by targeting other non-referral reports, like www.event-tracking.com appearing in events. How can you tell it's spam? By seeing unusual activity, odd referral sources, substantial changes in your metrics, and lots of (not set) values in various dimensions, eg hostname and language. So how do you remove spam referrals from your Google Analytics traffic? There are two filters you need to set up to remove both ghost and crawler spam referrals. Filters change your traffic permanently so if you don't have an unfiltered view of your data, then create one now. It's a good practice to have an unfiltered view that you don't modify and it allows you to check your filters are working correctly. We are also working on our own spam filter tool to help people get rid of pesky spam referrals with just a few clicks of a button. We have already released a beta version via our Littledata analytics reporting tool and are developing it further to make it more robust and comprehensive. But if you'd rather do it yourself, keep reading. Create a filter to include valid hostnames Since ghost referrals never actually visit the site, the best way to get rid of them is by creating a valid hostname filter. This filter will allow visits from “approved” websites that you consider valid. First, you will need to identify your valid hostnames by going to the report in Audience > Technology > Network > Hostname. Hostnames report shows domains where your GA tracking code was fired and helps to troubleshoot unusual traffic sources. Valid hostnames on the list will be the websites where you inserted the GA tracking code, use additional services, eg transactions, or reliable sites used by people to access your site, eg Google Translate. Your reliable hostnames could look like this: www.yoursite.com yoursite.com blog.yoursite.com translate.googleusercontent.com (user accessing your site via Google Translate) ecommercepartnersite.com webcache.googleusercontent.com (user accessing translated cached version of your site) Any other website that you do not recognise or looks suspicious, you can safely assume to be a hostname you want to exclude. Beware of any domains that appear as “credible sources", eg Google, Amazon and HuffingtonPost. They are used to mask the spammers. If you see (not set) hostname on your list, this could be because you're sending events to GA that don't have pageviews, for example tracking email opens and clicks. If you are sure you are not sending any such events to GA, you can also exclude any (not set) hostnames. Now that you have got your valid hostnames, you need a regular expression for a filter that will include your valid hostnames (and thus, exclude all other fake ones). It'll look like this: yoursite|googleusercontent|ecommercepartnersite In the regex above, the vertical bar | separating each domain means OR.  This will match any part of the string, so 'yoursite' will match 'blog.yoursite.com' as well as 'www.yoursite.com'. You can test your regex at http://regexpal.com/ by inserting your expression at the top and all the URLs at the bottom. All matches will be highlighted so you can see straightaway whether you have included all your valid hostnames correctly. Before adding the valid hostname filter in the settings, test it with an advanced segment. The results on the screen should now be only of your valid hostnames and without all the spammers. If all looks good, create a filter by going to Admin > View > Filters > New Filter. This will add a filter for that specific view only. If you want to add the same filter to more than one view, then check the details below. Select 'Include', pick a custom filter and select 'hostname' from the filter field menu. Now enter your regex into filter pattern field and click save.   Want to apply a filter to multiple views? Then go to Admin > Account > All Filters > New Filter.   The setup is exactly the same as above, except now you will see a section at the bottom titled 'Apply Filter to Views'. Select views you want to apply the filter to and move them to the right hand side box by clicking button 'add' in the middle. You're all set so click save. Add a filter to exclude campaign source Some of the known spam referrals are free-social-buttons, guardlink.org, 4webmasters.org and, most recently, the ironically named howtostopreferralspam.eu. Excluding spam referrals with campaign source filter is one of the most commonly mentioned methods online. This filter will exclude any referrer spam from the moment you add the filter (not from your historical data). The downside is that every time you have a new spam referral appear in your Google Analytics data you will have to add them to the existing filter, or create a new one if you’ve ran out of character space (allows only 255 characters). You can identify your spam referrals by going to referrals report found in Acquisition > All Traffic > Referrals. To save you some time, I have included the regex's we use below so you can copy them. Make sure you double check your referrals report against our list to see if there are any that haven't appeared in our reports yet. If you find a source not listed below, simply add it to the end and let us know in the comments. Similarly to setting up the filter to include valid hostnames only, now you need to add a filter to exclude spam referrals. We use the following regular expressions to filter out spam (yes, that's four filters): guardlink|event-tracking|vitaly rules|pornhub-forum|youporn-forum|theguardlan|hulfingtonpost|buy-cheap-online|Get-Free-Traffic-Now|adviceforum.com|aliexpress.com|ranksonic kabbalah-reg-bracelets|webmaster-tools|free-share-buttons|ilovevitaly|cenoval|bestwebsitesawards|o-o-6-o-o|humanorightswatch|best-seo-offer|4webmasters|forum69.info|webmaster-traffic|torture.ml|amanda-porn|generalporn depositfiles-porn|meendo-free-traffic|googlsucks|o-o-8-o-o|darodar|buttons-for-your-website|resellerclub|blackhatworth|iphone4simulator.com|sashagreyblog|buttons-for-website|best-seo-solution|searchgol|howtostopreferralspam 100dollars-seo|free-social-buttons|success-seo.com|videos-for-your-business.com The reason majority of the websites above do not have org/com/etc is that for these sites I have concluded that there are no other genuine sites with similar site names (or none that I could find) that would send our site traffic. So it is safe to exclude these sites by name only.  For example, there are many sites with adviceforum in their name so to avoid excluding any potentially genuine sites that are called adviceforum, I only exclude the one spam referral I saw in my traffic - adviceforum.com. If you notice that you have referral traffic from addons.mozilla.org but don't actually have an addon on Mozilla, then you should add addons.mozilla.org (more commonly known as ilovevitaly) to the list above in this format - addons.mozilla.org Select Campaign Source in the filter field menu and enter your regex into the filter pattern field. Repeat the process until you have got all four (or more) filters created.   This will help to clean up your Google Analytics data but you have to keep checking for any new spam referrals to add to the exclude filter. You can use advanced segments to view your historical reports without spam referrals. If you need help with any of the above or have further questions, don't hesitate to let me know in the comments.   Further reading: 5 common Google Analytics setup problems How to remove referral spam from historical data

2015-06-25

How to track file downloads in Google Tag Manager V2

Setting up tracking of file downloads in GTM V2 is much easier thanks to the new configuration wizard. It is more intuitive and takes you through the set up step-by-step. Let’s have a look at the basic configuration for sending tracking of file downloads from Google Tag Manager to Google Analytics as events. To set up this events tag you need to firstly create a trigger. Create a trigger This trigger will recognise every time someone clicks to download the file you want to track. In the given example I am using a simple regular expression to capture a number of file types I want to track -.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$ Here the * means it will capture any repetitions of the file types it is next to, ie it will include file types doc and docx for Word documents, xls and xlsx for Excel spreadsheets, ppt and pptx for PowerPoint presentations. Save the trigger and create a new tag. Create a new tag Give your tag a meaningful name so you can easily recognise what the tag is for. We have previously created a variable (formerly known as macro) that stores our GA tracking code, which I use in the configuration settings. This way I do not have to re-enter the GA property ID every time I need it. This variable does all the work. Select your track type as 'Event' and insert your tracking parameters. Here I use the following but modify the fields based on what works for your business: Category is Download Action is Click Label is {{element url} Element url in the label field will store the URL of the file that was downloaded. Advanced tracking For advanced tracking, you can create a custom javascript variable with a code that will strip out the title of the downloaded file and store it in your GA. Have a look at Simo's example of returning file name. Set your tag to fire Last step is to add a firing rule, ie select a trigger that will fire your tag. Select the previously created trigger 'Click to Download' and you're all set. Test For extra care, test the tag both in GTM debug mode and GA real time. Publish Now publish the container with your newly created tag. If you need any further help, do leave a comment below.   Further reading: Tracking registered users with Google Analytics and GTM V2 Tracking web forms in Google Tag Manager V2

2015-06-04

5 myths of Google Analytics Spam

Google Analytics referral spam is a growing problem, and since Littledata has launched a feature to set up spam filters for you with one click, we’d like to correct a few myths circulating. 1. Google has got spam all under control Our research shows the problem exploded in May – and is likely to get worse as the tactics get copied. From January to April this year, there were only a handful of spammers, generally sending one or two hits to each web property, just to get on their reports. In May, this stepped up over one thousand-fold, and over a sample of 700 websites, we counted 430,000 spam referrals – an average of 620 sessions per web property, and enough to skew even a higher traffic website. The number of spammers using this tactic has also multiplied, with sites such as ‘4webmasters.org’ and ‘best-seo-offer.com’ especially prolific. Unfortunately, due to the inherently open nature of Google Analytics, where anyone can start sending tracking events without authentication, this is really hard for Google to fix. 2. Blocking the spam domains from your server will remove them from your reports A few articles have suggested changing your server settings to exclude certain referral sources or IP addresses will help clear us the problem. But this misunderstands how many of these ‘ghost referrals’ work: they are not actual hits on your website, but rather tracking events sent directly to Google’s servers via the Measurement Protocol. In this case, blocking the referrer from your own servers won’t do a thing – since the spammers can just go directly to Google Analytics.  It's also dangerous to amend the htaccess file (or equivalent on other servers), as it could prevent a whole lot of genuine visitors seeing your site. 3. Adding a filter will remove all historic spam Filters in Google Analytics are applied at the point that the data is first received, so they only apply to hits received AFTER the filter is added. They are the right solution to preventing future spam, but won’t clean up your historic reports. To do that you also need to set up a custom segment, with the same source exclusions are the filter. You can set up an exclusion segment by clicking 'Add Segment' and then red 'New Segment' button on the reporting pages and setting up a list of filters similar to this screenshot. 4. Adding the spammers to the referral exclusion list will remove them from reports This is especially dangerous, as it will hide the problem, without actually removing the spam from your reports. The referral exclusion list was set up to prevent visitors who went to a different domain as part of a normal journey on your website being counted as a new session when they returned. e.g. If the visitor is directed to PayPal to pay, and then returns to your site for confirmation, then adding 'paypal.com' to the referral exclusion list would be correct. However, if you add a spam domain to that list then the visit will disappear from your referral reports... but  still, be included under Direct traffic. 5. Selecting the exclude known bots and spiders in the view setting will fix it Google released a feature in 2014 to exclude known bots and spiders from reports. Unfortunately, this is mainly based on an IP address - and the spammers, in this case, are not using consistent IP addresses, because they don't want to be excluded. So we do recommend opting into the bot exclusion, but you shouldn't rely on it to fix your issue Need more help? Comment below or get in touch!

2015-05-28

Setting up a destination goal funnel in Google Analytics

Destination goal funnels in Google Analytics track how well certain actions on your website contribute to the success of your business. By setting up a goal for each crucial activity you will get more focused reports on how visitors are using your website, and at what stage they are dropping out of the conversion funnel. The first time I tried to set up a destination goal was daunting, but after some practice, I am now seeing valuable information on how well visitors are interacting with our clients' websites. If like Teachable you have different subscription packages, then you might want to track how each subscription is converting. For this, set up the purchase confirmation page of each subscription plan as a goal, with a funnel to get additional insight into where people drop off. Step 1: Create a new goal To set up a destination goal go to Google Analytics Admin settings > View > Goals. Click ‘new goal.’ Step 2: Fill in destination goal details Google has some goal templates that provide set-up suggestions. They will only display if you have set your industry category in property settings. Selecting any of the given templates will only populate the name and type of the goal, but not the conversion details, which are more complicated for some. This is not very useful for me so I will ignore this: select ‘custom’ and click ‘next.’ Goal name Give your goal a descriptive name. You will later see it in various reports in Google Analytics so use whatever makes sense for you. Here I am going to use the name of the subscription plan I am tracking - Basic Subscription. Goal slot ID Goal slot ID is set automatically and you might want to change it if you want to categorise your goals. Select ‘Destination’ and click ‘next step.’ Step 3: define your destination goal Destination type You have a choice between 3 different match types. If you have an exact URL that does not change for different customers (without '?=XXX'), then use ‘Equals to’ for an exact match. If the beginning of your converting URL is the same, but there are different numbers or characters at the end of the URL for various customers, then choose ‘Begins with.’ Use ‘Regular expression’ to match a block of text within the URL. For example, if all your subscriber URLs have 'subscriber_id=XXX' somewhere then type 'subscriber_id=' into the text field. You can also use 'regular expression' if you need to match multiple URLs and know how to use special characters to build regex. One of our favourite tools to test regular expressions is Regex Tester. The match type you select here will also apply to the URLs in the funnel, if you choose to create one. Destination page Destination page is the URL where the conversion occurs. For Teachable, and most other websites that sell something online, the destination is usually a ‘thank you' page that is displayed after successful purchase. You might also have a thank you page for contact forms and newsletter signups, which you would track the same way as a payment thank you page. Here you insert the request URI, which is the URL part that comes after the domain address. It would look something like this: /invoice/paid /thank you.html /payment/success Step 4: Should you set a goal value? (optional) You can set a monetary value to your goal if you want to track how much it contributes. e.g. If the goal is visitors completing a contact form, and you know the average lead generates you £100, then you can put the value at 100. If you are an ecommerce site and want to track exact purchases, then set up enhanced ecommerce tracking instead. Step 5: Should you set up a funnel? (optional) If you have several steps leading up to the conversion, you should set up a funnel to see how many people move through each defined step and where they fall out. If you do not set the first step as 'required', Google Analytics will also track people coming into funnel halfway through. i.e. If the first stage of your funnel is the homepage, then it will still include visitors who land straight on your contact page. Verify Now that you have set up your destination goal, click ‘verify the goal’ to check it works. If all is set up correctly, you should see an estimation of the conversion rate your goal would get. If you do not get anything, then check each step carefully. Once all is well, click ‘create goal’ and check it is working after a few days or a week, depending on how much traffic you get. If you set up a funnel, you will see it in Conversions > Goals > Funnel Visualisation. This is what a typical funnel would look like. Because I did not set the first step as 'required' you can see people entering the funnel at various steps.   Need more help? Get in touch or comment below!

2015-04-06

Get the Littledata analytics app

Complete picture of your ecommerce business. Free Google Analytics connection, audit and benchmarks.

Sign up