www.algolia.com
Open in
urlscan Pro
104.16.45.55
Public Scan
Submitted URL: http://mkto-ab390137.com/NzQ2LVJPVS0zNjEAAAGItfEl_-aGcjuwC9CunY6TLLugdioQUAuGpF2o2tqi2h-F3j56QXZeFzfqN-YnLnvtlfCYjZw=
Effective URL: https://www.algolia.com/blog/product/best-practices-for-federated-search/?mkt_tok=NzQ2LVJPVS0zNjEAAAGItfEl_7zYMsFLmBW_pV...
Submission: On December 15 via api from US — Scanned from DE
Effective URL: https://www.algolia.com/blog/product/best-practices-for-federated-search/?mkt_tok=NzQ2LVJPVS0zNjEAAAGItfEl_7zYMsFLmBW_pV...
Submission: On December 15 via api from US — Scanned from DE
Form analysis
2 forms found in the DOM<form id="mktoForm_3763" class="css-1kabvis mktoForm mktoHasWidth mktoLayoutLeft" novalidate="novalidate" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); width: 101px;" __bizdiag="1313302820" __biza="W___">
<style type="text/css">
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
color: #fff;
border: 1px solid #75ae4c;
padding: 0.4em 1em;
font-size: 1em;
background-color: #99c47c;
background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c));
background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c);
background-image: -moz-linear-gradient(top, #99c47c, #75ae4c);
background-image: linear-gradient(to bottom, #99c47c, #75ae4c);
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
border: 1px solid #447f19;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
outline: none;
border: 1px solid #447f19;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
background-color: #75ae4c;
background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c));
background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c);
background-image: -moz-linear-gradient(top, #75ae4c, #99c47c);
background-image: linear-gradient(to bottom, #75ae4c, #99c47c);
}
</style>
<div class="mktoFormRow">
<div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset" style="width: 10px;"></div>
<div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth" style="width: 100px;">
<div class="mktoAsterix">*</div>Business Email
</label>
<div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Email" name="Email" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email" class="mktoField mktoEmailField mktoHasWidth mktoRequired"
aria-required="true" style="width: 150px;"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
<div class="mktoClear"></div>
</div>
<div class="mktoClear"></div>
</div>
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow">
<div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset" style="width: 10px;"></div>
<div class="mktoFieldWrap"><label for="blogUpdates" id="LblblogUpdates" class="mktoLabel mktoHasWidth" style="width: 100px;">
<div class="mktoAsterix">*</div>Blog Updates
</label>
<div class="mktoGutter mktoHasWidth" style="width: 10px;"></div>
<div class="mktoLogicalField mktoCheckboxList mktoHasWidth" style="width: 150px;"><input name="blogUpdates" id="blogUpdates" type="checkbox" value="yes" aria-labelledby="LblblogUpdates InstructblogUpdates" class="mktoField"><label
for="blogUpdates" id="LblblogUpdates"></label></div><span id="InstructblogUpdates" tabindex="-1" class="mktoInstruction"></span>
<div class="mktoClear"></div>
</div>
<div class="mktoClear"></div>
</div>
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Source__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Campaign__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Content__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Medium__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Camp_Parent__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Ag__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Goal__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Model__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Language__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Persona__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Region__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_Term__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoFormRow"><input type="hidden" name="UTM_2nd_Camp__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;">
<div class="mktoClear"></div>
</div>
<div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple" style="margin-left: 120px;"><button type="submit" class="mktoButton">SUBMIT</button></span></div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor"
value="3763"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="746-ROU-361">
</form>
<form class="css-1kabvis mktoForm mktoHasWidth mktoLayoutLeft" novalidate="novalidate"
style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;" __bizdiag="-1708358434" __biza="W___"></form>
Text Content
* Business Email * Blog Updates SUBMIT Algolia mark white Looking for our logo? We got you covered! Brand guidelinesDownload logo pack Company Partners Support Login Algolia mark blueAlgolia logo blueMenu * PlatformPlatform Algolia’s Platform Create leading Search, Discovery, and Recommendations Learn more Search Powerful, hosted search API to create fast and relevant search & discovery About Search Recommend Flexible, hosted recommendation API with advanced programmatic control About Recommend INDUSTRIES Retail Ecommerce Marketplaces SaaS B2B Ecommerce MediaSee all INTEGRATIONS Salesforce CC Adobe Commerce Firebase Shopify NetlifySee all * PricingPricing * Pricing * FAQ * DevelopersDevelopers Developer Hub API clients, UI components & integrations to build search & discovery experiences. Learn more GET STARTED * Documentation * Integrations * UI Components * Autocomplete RESOURCES * Code Exchange * Engineering Blog * Community * Webinars & Events QUICK LINKS * Quick Start Guide * For Open Source * API Status * Support * ResourcesResources INSPIRATION * Algolia Blog * Resource Center * Customer Stories * Inspiration Library LEARN * Algolia Academy * Onboarding * Events TOOLS * Profit Simulator * Search Grader * Ecommerce Search Audit LATEST * The Total Economic Impact of Algolia Forrester Consulting’s Total Economic Impact™ study on Algolia shows a 382% ROI * The 2022 holiday planning report A look at how retailers are preparing early for the winter sales season. Search Algolia * Get a demo * Start free * Blog * Product * All * Product * AI * Engineering * Algolia * Customers * E-commerce * User Experience Search search See allProduct (300)Engineering (213)E-commerce (116)UX (103)Algolia (99)Customers (44)AI (34) All AI Algolia Customers E-commerce Engineering Product User Experience ai AI AND INTENT DATA: HOW DO THEY CONTRIBUTE TO FULL-BLOWN INTENT INTELLIGENCE? What is intent intelligence? Can intent even have intelligence? Well yes, in the brave new data-science ecosystem of AI ... Adam Smith Sr. Director, Digital Marketing e-commerce [8 TIPS] HOW TO GROW REVENUE USING DATA-DRIVEN SEARCH AND DISCOVERY Headlines tell us the recession is lingering, but that doesn’t mean your retail business has to be left to ... Jon Silvers Director, Thought Leadership Marketing product BEST PRACTICES FOR FEDERATED SEARCH Federated search essentially runs a search query across multiple sites, applications, or data sources, and displays the results in a ... Jon Silvers Director, Thought Leadership Marketing ux WEB CONTENT ACCESSIBILITY GUIDELINES (WCAG): HOW TO MAKE SITE SEARCH WORK FOR PEOPLE WITH DISABILITIES Is your website and app search functionality accessible to the estimated 1 billion adults around the world who are living ... Catherine Dee Search and Discovery writer ux MOBILE APPS AND MOBILE APP SEARCH: THE PAST, PRESENT, AND FUTURE Social networking, food delivery, payments, games, music, exercise, airlines…there seems to be an app for just about everything, whether ... Vincent Caruana Sr. SEO Web Digital Marketing Manager product HOW WE USED ALGOLIA TO MAKE OUR SUPPORT EXPERIENCE BETTER At Algolia, we obsess over the developer experience and pride ourselves on the speed and flexibility of our engine. Building ... Claudia Rodriguez-Schroeder & Fred McFerran Bobby Groves ai WHAT IS AI SEARCH RANKING? AI ranking refers to a variety of machine learning algorithms used to optimize the order of search results. With any ... Bharat Guruprakash Chief Product Officer e-commerce HOW ECOMMERCE SEARCH ENGINES HANDLE DIFFERENT TYPES OF QUERIES You type in a query while doing a Google search (or use another popular search engine like Bing), or one ... Jon Silvers Director, Thought Leadership Marketing algolia WHAT TO EXPECT FROM ALGOLIA AT NRF 2023 RETAIL’S BIG SHOW Algolia is a lynchpin in the new online retail mechanic that is transforming the way consumers and businesses shop, purchase ... Adrian Bridgwater Enterprise Software Industry Journalist product QUERY UNDERSTANDING 101 What is query understanding? Query understanding is the process of analyzing search queries and translating them into an enhanced query ... Hamish Ogilvy VP, Artificial Intelligence product HOW ALGOLIA RECOMMEND CAN INCREASE BASKET SIZE & VALUE AND BUILD CUSTOMER LOYALTY Are you already sending Algolia click and conversion events? If so, then you’re ready to start displaying recommended products ... Luigi Castellano SR Product Marketing Manager ai INCREASE BASKET SIZE & VALUE AND BUILD CUSTOMER LOYALTY WITH ALGOLIA RECOMMEND AND ANALYTICS Do you want to know what your users are doing as they search and browse your online catalog? Do you ... Luigi Castellano SR Product Marketing Manager product HOW TO BUILD AN ALGOLIA-POWERED SEARCH AND DISCOVERY EXPERIENCE ON ADOBE EXPERIENCE MANAGER When someone visits a digital business, first impressions are precious. Either they get captivated by what they see and want ... Debanshi Bheda & Sajid Momin ai PREDICTIVE SEARCH AND AUTOCOMPLETE In the past decade, artificial intelligence and predictive search has made our lives easier and faster in many areas. Predicting ... Julien Lemoine Co-founder & CTO at Algolia algolia 10 INFLUENCERS THAT DEVELOPERS SHOULD BE FOLLOWING Times are tough for people and businesses alike, so everyone is on the lookout for inspiration and new ideas. That ... Ben Lower Developer Experience Leader e-commerce HOW DYNAMIC PRICING SOFTWARE CAN HELP YOUR ECOMMERCE BUSINESS THRIVE Imagine you’re going on vacation. You first need a pair of cool new sunglasses, so you check Amazon for ... Catherine Dee Search and Discovery writer ai WHAT IS VECTOR SEARCH? Vector search is a way to find related objects that have similar characteristics using machine learning models that detect semantic ... Dustin Coates Product and GTM Manager ai AN INTRODUCTION TO MACHINE LEARNING FOR IMAGES AND TEXT — NOW AND IN THE (NEAR) FUTURE With the remarkable growth in machine learning technologies, it's become a reflex to ask – What's next? But to ... Peter Villani Sr. Staff Writer LOOKING FOR SOMETHING? SearchSee more BEST PRACTICES FOR FEDERATED SEARCH Dec 9th 2022 product facebooklinkedintwittermail Federated search essentially runs a search query across multiple sites, applications, or data sources, and displays the results in a single or multi-column layout. With a federated search interface, a media streaming platform could display a list of songs, artists, and podcasts, all coming from different data sources – with a single query. Ecommerce as well could benefit by displaying recommendations and different categories of products on different parts of the display. In a website context, you could create a real time search application that cuts across multiple domains or subdomains. It’s as easy as adding a new domain or subdomain to the list of sites to include in a central index, then creating a few additional rules for how search should appear. For example, if you have a “parent” website and several “sister” websites, you may want the parent website to display results from all sites equally, but on a sister site it could favor results from that sister site. For enterprise search, it could include different information sources such as intranets, databases, and other datasets. You could centralize your back-end data or execute the same query on different applications and datasets. In all cases, federated search starts with a single query and returns diverse results from multiple datasources to help your users to pinpoint the information they need. FEDERATED SEARCH CASE STUDY: NSW.GOV.AU NSW.gov.au is the public face for the Australian state of New South Wales. Like other government agencies around the world, there’s a top-level government website plus dozens of other agency sites such as the department of treasury, ministry of health, department of industry, etc. The team at NSW.gov.au found that visitors were often searching on questions around driver’s licenses, liquor licenses, moving, and other topics that were available on a sister agency site, ServiceNSW. Drivers license renewal information is on ServiceNSW. NSW.gov.au offers federated search across both sites to provide a better user experience for site visitors. To accommodate visitors, NSW.gov.au blended datasets from ServiceNSW — including web pages, PDF, and DOCX content —and delivered results alongside the parent website’s content. Web searches on NSW.gov.au include results from both sites but relevance scoring and machine learning automatically improve results to favor certain keyword searches. Visitors that type in “rego” (short for driver’s license registration) on NSW.gov.au will get results from ServiceNSW. Each site is being crawled independently and the data is consolidated into a federated search index; no additional connectors were needed. In another situation you may need to use our APIs and other developer resources to build a central index. CONSIDERATIONS FOR FEDERATED SEARCH ACROSS WEBSITES There are several considerations for determining exactly how to federate search data across sites. Here are just a few. If you want more information, take a look at our in-depth implementation of federated search. ORGANIZING SEARCH RESULTS Every site has its own goals and objectives. The content and audience can vary considerably from site to site, so it’s important to ensure that the right content is delivered for the right query. You can configure rules to deliver results on one or more sites in many different ways. For example, you could organize by category, by filters on the front end, or even by your backend indexing processes and query executions. And these are just a few ways to think about it. Let’s look at each of them briefly. * Categories: Each site could have its own search synonyms or promotions. In that case, you may want to configure the system to search across categories differently on each site depending on where the query originates. * Filters & filters: You could have different filters or facets on each site to narrow results to just that site or by topic. In other words, the filters could be explicitly by domain or, if the sites have very different content, the filters could be by content type. * Indexing: Your indexing process can categorize content in websites A and B with a tag that’s similar so each record is tagged as it comes in, but set a different tag for site C. Then you could build rules for search faceting by tags. Or, maybe you want to bias the results from the website someone is searching on. In that case, you would have steps at query time that boost certain results to promote that domain’s results. And, you can also do filtering in the pipeline itself. * Multiple queries: You can execute the same query in parallel on different data sources and send the results of each dataset. Likely the search index will be some mixture of all the above. In other words, there are many different options for a federated search solution both at index and query time to deliver relevant information. Start with determining the goals and outcomes for visitors on each site and then you can determine exactly how to accomplish those goals with search. INDEXING, SCHEMA, AND DATA TRANSFORMATION Perhaps the biggest challenge of federating site search is indexing and managing radically different schema and site organization. * Different schema: Sites can each use different schemas such as Dublin Core, Open Graph, or Schema.org which have different metadata fields and date and time formats. * Domain structure: Each site could have a very different domain structure and hierarchy. Search engines can use the domain structure (e.g., /index, /products/, /services/, /services/details/, etc.) to categorize results and improve relevance. * Tagging: The index can be impacted by (1) how h1, h2, h3, etc., tags are structured and (2) what metadata is included within tags (e.g., meta labels and properties). To manage for these differences, you can add rules to transform data as it’s being indexed. For example, you will want to store records and data, such as time/date, in a consistent format. You may also choose to transform content for the search index. One website may call it “Corona virus” and another might call it “ COVID-19,” so you’ll want to store an index that contains the synonym. This can also be handled through more advanced vector analysis to cluster the data as numeric topics. Another consideration is duplication of content. Different sources of data may have the same type of content, e.g., /about or /company pages, so when someone is searching for information about the business, they could come across both. You’ll want to decide how to handle duplicate or very similar content. FILTERS Search filters help users narrow their search query to find exactly what they want. With federated search, you can create filters that cut across each site or which are specific to each domain. Generally speaking, there are three different types of filters. These are not mutually exclusive; you can use one or all three if you wanted. * Static filters which allow end users to filter content after entering a search query. For example, you can give visitors a way to filter results by topic or rating. * Dynamic filters (also called facets), which are generated based on the values of the search result set. As an example, if a user is searching for “car” you could display all the brands — Toyota, Ford, Volvo, etc. — available for that category, which would be different from a search for “boats” or “motorcycles.” * Filter results using filter expressions. In this case, the end-users will always see the filtered results. For example, you could limit results to only one site or part(s) of your site(s). If you sell shirts, shoes, and jewelry, you could exclude results from one or more sections. In other words, categories are a natural place to start your filters. Whichever kind of filter(s) you choose, you’ll want to consider how they show up on each site. You can use the same filters on each site, or deliver filters contextually. ANALYTICS A brief note on analytics: if you’ve added federated searching across different sources, how do you know it’s working? Each site owner will want a view into site search performance on their site. Metrics such as click-through-rate (CTR), conversions, popular queries, and ineffective searches or no results should be monitored to ensure visitors are finding what they need. CONCLUSION Federated search can provide a better search experience for end-users, but it requires a good deal of planning to ensure the results match expectations on each site. It’s worth pointing out that federating search doesn’t mean that each site needs to use the same CMS or adhere to the exact same schema or metadata standards. As long as the search index can be standardized, it is easily possible to deliver great results. About the author Jon Silvers Director, Thought Leadership Marketing RECOMMENDED ARTICLES POWERED BY ALGOLIA RECOMMEND ux WHAT IS FEDERATED SEARCH? If you run a site or business, you know how quickly new databases, storage locations, and product catalogs can build ... Louise Vollaire Product Marketing Manager engineering 12 WAYS TO IMPROVE YOUR SEARCH INDEX Search indexing is often the first topic we discuss with customers when starting a new business engagement. Whether it's ... Jon Silvers Director, Thought Leadership Marketing product WHAT IS SITE SEARCH? Site search is the functionality that enables users to search a given website’s content or product catalogs with speed ... Xabier Ormazabal VP of Product Marketing ENABLE ANYONE TO BUILDGREAT SEARCH & DISCOVERY Start free >_Get a demo >_ PRODUCTS * Overview * Search API * Recommend API * Algolia AI Search * Pricing INDUSTRIES * Overview * Ecommerce * B2B ecommerce * Marketplaces * SaaS * Media * Startups SOLUTIONS * Overview * Enterprise search * Headless ecommerce * Mobile & App search * Voice search INTEGRATIONS * Salesforce Commerce Cloud * Shopify * Adobe Commerce * Netlify * Zendesk DEVELOPERS * Developer Hub * Documentation * Code Exchange * Integrations * UI Components * Autocomplete * Engineering Blog * Discourse community * Inspiration Library * Sessions & live events * Quick start guide * API Status * For Open Source RESOURCES * Resource center * Blog * Inspiration Library * Market Reports * Customers * Advocacy Program * Algolia Academy * Customer Onboarding * Support Center * Demo Request * Algolia vs Elasticsearch * Grade your search * Ecommerce search audit * Ecommerce Profit Simulator DISTRIBUTED & SECURE * Global infrastructure * Security & Compliance * Azure COMPANY * About Algolia * Algolia News * Leadership * Events * Careers * Contact us * Social impact * Partners portal * Partners directory * Get the Newsletter SOCIAL NETWORKS * LinkedIn * Twitter * Facebook * Instagram * YouTube PRODUCTS * Overview * Search API * Recommend API * Algolia AI Search * Pricing INDUSTRIES * Overview * Ecommerce * B2B ecommerce * Marketplaces * SaaS * Media * Startups SOLUTIONS * Overview * Enterprise search * Headless ecommerce * Mobile & App search * Voice search INTEGRATIONS * Salesforce Commerce Cloud * Shopify * Adobe Commerce * Netlify * Zendesk DEVELOPERS * Developer Hub * Documentation * Code Exchange * Integrations * UI Components * Autocomplete * Engineering Blog * Discourse community * Inspiration Library * Sessions & live events * Quick start guide * API Status * For Open Source RESOURCES * Resource center * Blog * Inspiration Library * Market Reports * Customers * Advocacy Program * Algolia Academy * Customer Onboarding * Support Center * Demo Request * Algolia vs Elasticsearch * Grade your search * Ecommerce search audit * Ecommerce Profit Simulator DISTRIBUTED & SECURE * Global infrastructure * Security & Compliance * Azure COMPANY * About Algolia * Algolia News * Leadership * Events * Careers * Contact us * Social impact * Partners portal * Partners directory * Get the Newsletter SOCIAL NETWORKS * LinkedIn * Twitter * Facebook * Instagram * YouTube -------------------------------------------------------------------------------- * Privacy policy * Terms of service * Acceptable use policy * Anti-Modern Slavery Statement Algolia mark white©2022 Algolia - All rights reserved. We and our partners use technologies like cookies and personal data to optimize web experiences. By clicking Accept, this grants permission to track your data. You can change/withdrawal by clicking on Cookie Settings in the website footer. Accept All Cookies Reject All Cookies Settings PRIVACY PREFERENCE CENTER When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information Allow All MANAGE CONSENT PREFERENCES STRICTLY NECESSARY COOKIES Always Active These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information. PERFORMANCE COOKIES Performance Cookies These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site. FUNCTIONAL COOKIES Functional Cookies These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly. TARGETING COOKIES Targeting Cookies These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising. Back Button PERFORMANCE COOKIES Search Icon Filter Icon Clear checkbox label label Apply Cancel Consent Leg.Interest Switch Label label Switch Label label Switch Label label Reject All Confirm My Choices