Last.fm - SEO Checker

Overview of the SEO Check
Meta information
98% 
Page quality
46% 
Page structure
100% 
Link structure
85% 
Server
100% 
External factors
100% 
SEO Score
Response time
0.23 s
File size
116.40 kB
Words
336
Media files
3
Number of links
36 internal / 9 external

Task list of SEO Improvements

Meta specifications

Title
(Critically important)
Last.fm | Play music, find songs, and discover artists
The domain is used in the page's title.
There are no duplicate words in the title
Meta description
(Critically important)
The world's largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm
The length of the meta description is perfect. (894 pixels out of 1000 max pixel length)
Crawlability
(Critically important)
There are no problems in accessing the website.
Canonical URL
(Important)
https://www.last.fm/
There is a valid canonical link specified.
Language
(Somewhat important)
Language detected in text: en
Language defined in HTML: en
Server location: United States of America
The following language is defined by HTML: en
Alternate/Hreflang Links
(Somewhat important)
The specified alternate links have no errors.
Other meta tags
(Somewhat important)
There is no rel next meta tag on this page.
There is no rel prev meta tag on this page.
Domain
(Somewhat important)
The domain is no subdomain.
The domain length is good.
The domain does not contain non-latin characters.
Page URL
(Somewhat important)
No parameters were found in the URL.
No session ID was found in the URL.
The URL does not have too many subdirectories.
Charset encoding
(Somewhat important)
The charset encoding (UTF-8) is set correctly.
Doctype
(Nice to have)
The doctype HTML 5 is set correctly.
The doctype is placed at first in the HTML code.
Favicon
(Nice to have)
The favicon is linked correctly.

Meta tags

NameValue
viewportwidth=device-width, initial-scale=1
descriptionThe world's largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm
langen
twitter:titleLast.fm | Play music, find songs, and discover artists
twitter:descriptionThe world's largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm
twitter:imagehttps://www.last.fm/static/images/lastfm_avatar_twitter.52a5d69a85ac.png
twitter:cardsummary
twitter:site@lastfm
og:titleLast.fm | Play music, find songs, and discover artists
og:descriptionThe world's largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm
og:typewebsite
og:site_nameLast.fm
og:urlhttps://www.last.fm/
og:imagehttps://www.last.fm/static/images/lastfm_logo_facebook.15d8133be114.png
og:image:width1200
og:image:height630
X-UA-CompatibleIE=edge
charsetutf-8

Automatically check last.fm including all subpages at once!

Try for free
Guaranteed free of charge during trial period.

Page quality

Content
(Critically important)
Some words from the page title are not used within the pages content
Words from the H1 heading are not used in the page content.
There are only 336 words on this page. Good pages should have about 800 words of useful content.
33% of the text are stop words.
The page contains a listing, which indicates a good text layout.
6 paragraphs were found on this page.
No placeholders texts or images were found.
There are no duplicates on the site.
The average number of words per sentence of 11.55 words is good.
Frames
(Critically important)
This page does not use a frameset.
Mobile optimization
(Somewhat important)
A viewport "width=device-width, initial-scale=1" is provided.
At least one Apple touch icon is specified.
Bold and strong tags
(Somewhat important)
Some tags are too long. With 96 characters this one is longer than 70 characters:
"a live global counter showing the total number of tracks listened to by last.fm users since 2003"
Image SEO
(Somewhat important)
2 images have no alt attribute. The content of alt attributes is used by search engines.
Social Networks
(Nice to have)
This page is optimized perfectly for social networks.
Additional markup
(Nice to have)
No additional page markup was found.
HTTPS
(Somewhat important)
This website uses HTTPS to protect privacy and integrity of the exchanged data.
All included files are also transferred via HTTPS.

Media list

URLAlt attributeTitle
...erve/worldmap2_white@2x.b79bbc88c2d3.pngNo alt attribute provided
...ages/kerve/worldmap2@2x.827c37f104e0.pngNo alt attribute provided
...c/images/footer_logo@2x.49ca51948b0a.pngLast.fm 'as' logo

Page structure

H1 heading
(Critically important)
Explore Top Music Powered by your Scrobbles
The H1 heading is perfect.
Headings
(Important)
The heading structure is perfect.

Heading structure

Heading levelContent
H1 Explore Top Music Powered by your Scrobbles
H2 Spiking Artists
H2 Spiking Tracks
H2 All Time Scrobbles
H2 Around The World
H2 Today's Most Loved
H2 Venn
H2 Company
H2 Help
H2 Goodies
H2 Account
H2 Follow Us
H2 API Calls
H3 Scrobble from Spotify?
Some internal links have dynamic parameters. All internal URLs, which are not marked as nofollow, should not contain dynamic parameters.
Some anchor texts are used more than once.
The number of internal links is ok.
None of the anchor texts is too long.
There are 9 external links on this page.
LinkAttributesAnchor text
https://www.last.fm/Last.fm
https://www.last.fm/searchSearch
https://www.last.fm/proUpgrade to Pro
https://www.last.fm/dashboardLive
https://www.last.fm/musicMusic
https://www.last.fm/chartsCharts
https://www.last.fm/eventsEvents
https://www.last.fm/loginLog In
https://www.last.fm/joinSign Up
https://www.last.fm/proText duplicate Upgrade to Pro
https://www.last.fm/dashboardText duplicate Live
https://www.last.fm/musicText duplicate Music
https://www.last.fm/chartsText duplicate Charts
https://www.last.fm/eventsText duplicate Events
https://www.last.fm/loginText duplicate Log In
https://www.last.fm/joinText duplicate Sign Up
https://www.last.fm/aboutAbout Last.fm
https://www.last.fm/about/contactContact Us
https://www.last.fm/about/jobsJobs
https://www.last.fm/featuresFeatures
/about/trackmymusicTrack My Music
https://support.last.fm/External Subdomain Community Support
/help/guidelinesCommunity Guidelines
https://www.last.fm/help/faqHelp
/about/trackmymusicDownload Scrobbler
https://www.last.fm/apiDeveloper API
/music/+free-music-downloadsFree Music Downloads
https://store.last.fm/External Subdomain Merchandise
https://www.last.fm/joinText duplicate Sign Up
https://www.last.fm/loginText duplicate Log In
https://www.last.fm/proSubscribe
https://www.facebook.com/lastfmNew window External Subdomain Facebook
https://x.com/lastfmNew window External X
https://bsky.app/profile/last.fmNew window External Bluesky
https://www.instagram.com/last_fmNew window External Subdomain Instagram
https://www.youtube.com/user/l...New window External Subdomain YouTube
http://www.cbsinteractive.com/Nofollow External Subdomain CBS Interactive
https://www.last.fm/legal/termsTerms of Use
https://www.last.fm/legal/privacyPrivacy Policy
https://www.last.fm/legalLegal Policies
https://careers.paramount.com/New window External Subdomain Jobs at Paramount
http://www.last.fm/Nofollow Subdomain Last.fm Music
/login?next=/settings/websiteChange playback source
/settings/applicationsConnect to Spotify
/nagbar/dismiss/cta/spotify-sc...Dismiss

Server configuration

HTTP redirects
(Critically important)
This page redirects to "https://www.last.fm/"
HTTP header
(Important)
No X-Powered HTTP header is sent.
The web server transmits the web page (HTML) in compressed form.
Performance
(Somewhat important)
The page response time is excellent with 0.23 seconds.
The file size of the HTML document is fine (116 kB).

HTTP Response Header

NameValue
content-encodinggzip
via1.1 google, 1.1 varnish, 1.1 varnish
content-security-policyupgrade-insecure-requests;
accept-rangesbytes
set-cookie91 Characters
content-typetext/html; charset=utf-8
x-frame-optionsDENY
servernginx
content-security-policy-report-onlydefault-src https: 'unsafe-inline' 'unsafe-eval' wss: ;img-src https: data: blob: ; font-src https: data:; form-action https: http://www.last.fm; report-uri https://cbsi.report-uri.io/r/default/csp/enforce
etagW/"0a70a7ddf15586fc842161e73fdcc194"
x-pjax-urlhttps://www.last.fm/
content-languageen
dateTue, 15 Jul 2025 23:27:22 GMT
x-served-bycache-fra-etou8220083-FRA, cache-fra-etou8220144-FRA
x-cacheMISS, MISS
x-cache-hits0, 0
x-timerS1752622042.861543,VS0,VE202
varyAccept-Encoding,Accept-Language, Cookie
x-lfm-upstream/
x-lfm-upstream-typePASS
x-request-categorypage
x-lfm-cacheable-page0
cache-controlmax-age=0, must-revalidate
strict-transport-securitymax-age=300
statuscode200
http_versionHTTP/2

External factors

This page is referenced by wikipedia.
This website has excellent links from other websites.
This page has backlinks from 3,655 referring domains.
This page has 996,132 backlinks.
This page has backlinks from 2,607 different ip addresses.

Robots.txt

User-Agent: *


Disallow: /music/+noredirect/
Disallow: /de/music/+noredirect/
Disallow: /es/music/+noredirect/
Disallow: /fr/music/+noredirect/
Disallow: /it/music/+noredirect/
Disallow: /ja/music/+noredirect/
Disallow: /pl/music/+noredirect/
Disallow: /pt/music/+noredirect/
Disallow: /ru/music/+noredirect/
Disallow: /sv/music/+noredirect/
Disallow: /tr/music/+noredirect/
Disallow: /zh/music/+noredirect/

Disallow: /user/*/library/music/
Disallow: /de/user/*/library/music/
Disallow: /es/user/*/library/music/
Disallow: /fr/user/*/library/music/
Disallow: /it/user/*/library/music/
Disallow: /ja/user/*/library/music/
Disallow: /pl/user/*/library/music/
Disallow: /pt/user/*/library/music/
Disallow: /ru/user/*/library/music/
Disallow: /sv/user/*/library/music/
Disallow: /tr/user/*/library/music/
Disallow: /zh/user/*/library/music/

# Stop traversal of user libraries
Disallow: /user/*/library*
Disallow: /de/user/*/library*
Disallow: /es/user/*/library*
Disallow: /fr/user/*/library*
Disallow: /it/user/*/library*
Disallow: /ja/user/*/library*
Disallow: /pl/user/*/library*
Disallow: /pt/user/*/library*
Disallow: /ru/user/*/library*
Disallow: /sv/user/*/library*
Disallow: /tr/user/*/library*
Disallow: /zh/user/*/library*

Disallow: /*/+wiki/diff

Disallow: /search
Disallow: /de/search
Disallow: /es/search
Disallow: /fr/search
Disallow: /it/search
Disallow: /ja/search
Disallow: /pl/search
Disallow: /pt/search
Disallow: /ru/search
Disallow: /sv/search
Disallow: /tr/search
Disallow: /zh/search

# Old pages
Disallow: /forum*
Disallow: /de/forum*
Disallow: /es/forum*
Disallow: /fr/forum*
Disallow: /it/forum*
Disallow: /ja/forum*
Disallow: /pl/forum*
Disallow: /pt/forum*
Disallow: /ru/forum*
Disallow: /sv/forum*
Disallow: /tr/forum*
Disallow: /zh/forum*

Disallow: /label*
Disallow: /de/label*
Disallow: /es/label*
Disallow: /fr/label*
Disallow: /it/label*
Disallow: /ja/label*
Disallow: /pl/label*
Disallow: /pt/label*
Disallow: /ru/label*
Disallow: /sv/label*
Disallow: /tr/label*
Disallow: /zh/label*

Disallow: /group*
Disallow: /de/group*
Disallow: /es/group*
Disallow: /fr/group*
Disallow: /it/group*
Disallow: /ja/group*
Disallow: /pl/group*
Disallow: /pt/group*
Disallow: /ru/group*
Disallow: /sv/group*
Disallow: /tr/group*
Disallow: /zh/group*

Disallow: /user/*/journal*
Disallow: /de/user/*/journal*
Disallow: /es/user/*/journal*
Disallow: /fr/user/*/journal*
Disallow: /it/user/*/journal*
Disallow: /ja/user/*/journal*
Disallow: /pl/user/*/journal*
Disallow: /pt/user/*/journal*
Disallow: /ru/user/*/journal*
Disallow: /sv/user/*/journal*
Disallow: /tr/user/*/journal*
Disallow: /zh/user/*/journal*

# Shouts
Disallow: /event/*/shoutbox?
Disallow: /de/event/*/shoutbox?
Disallow: /es/event/*/shoutbox?
Disallow: /fr/event/*/shoutbox?
Disallow: /it/event/*/shoutbox?
Disallow: /ja/event/*/shoutbox?
Disallow: /pl/event/*/shoutbox?
Disallow: /pt/event/*/shoutbox?
Disallow: /ru/event/*/shoutbox?
Disallow: /sv/event/*/shoutbox?
Disallow: /tr/event/*/shoutbox?
Disallow: /zh/event/*/shoutbox?

Disallow: /event/*/shoutbox/*
Disallow: /de/event/*/shoutbox/*
Disallow: /es/event/*/shoutbox/*
Disallow: /fr/event/*/shoutbox/*
Disallow: /it/event/*/shoutbox/*
Disallow: /ja/event/*/shoutbox/*
Disallow: /pl/event/*/shoutbox/*
Disallow: /pt/event/*/shoutbox/*
Disallow: /ru/event/*/shoutbox/*
Disallow: /sv/event/*/shoutbox/*
Disallow: /tr/event/*/shoutbox/*
Disallow: /zh/event/*/shoutbox/*

Disallow: /festival/*/shoutbox?
Disallow: /de/festival/*/shoutbox?
Disallow: /es/festival/*/shoutbox?
Disallow: /fr/festival/*/shoutbox?
Disallow: /it/festival/*/shoutbox?
Disallow: /ja/festival/*/shoutbox?
Disallow: /pl/festival/*/shoutbox?
Disallow: /pt/festival/*/shoutbox?
Disallow: /ru/festival/*/shoutbox?
Disallow: /sv/festival/*/shoutbox?
Disallow: /tr/festival/*/shoutbox?
Disallow: /zh/festival/*/shoutbox?

Disallow: /festival/*/shoutbox/*
Disallow: /de/festival/*/shoutbox/*
Disallow: /es/festival/*/shoutbox/*
Disallow: /fr/festival/*/shoutbox/*
Disallow: /it/festival/*/shoutbox/*
Disallow: /ja/festival/*/shoutbox/*
Disallow: /pl/festival/*/shoutbox/*
Disallow: /pt/festival/*/shoutbox/*
Disallow: /ru/festival/*/shoutbox/*
Disallow: /sv/festival/*/shoutbox/*
Disallow: /tr/festival/*/shoutbox/*
Disallow: /zh/festival/*/shoutbox/*

Disallow: /tag/*/shoutbox?
Disallow: /de/tag/*/shoutbox?
Disallow: /es/tag/*/shoutbox?
Disallow: /fr/tag/*/shoutbox?
Disallow: /it/tag/*/shoutbox?
Disallow: /ja/tag/*/shoutbox?
Disallow: /pl/tag/*/shoutbox?
Disallow: /pt/tag/*/shoutbox?
Disallow: /ru/tag/*/shoutbox?
Disallow: /sv/tag/*/shoutbox?
Disallow: /tr/tag/*/shoutbox?
Disallow: /zh/tag/*/shoutbox?

Disallow: /tag/*/shoutbox/*
Disallow: /de/tag/*/shoutbox/*
Disallow: /es/tag/*/shoutbox/*
Disallow: /fr/tag/*/shoutbox/*
Disallow: /it/tag/*/shoutbox/*
Disallow: /ja/tag/*/shoutbox/*
Disallow: /pl/tag/*/shoutbox/*
Disallow: /pt/tag/*/shoutbox/*
Disallow: /ru/tag/*/shoutbox/*
Disallow: /sv/tag/*/shoutbox/*
Disallow: /tr/tag/*/shoutbox/*
Disallow: /zh/tag/*/shoutbox/*

Disallow: /user/*/shoutbox?
Disallow: /de/user/*/shoutbox?
Disallow: /es/user/*/shoutbox?
Disallow: /fr/user/*/shoutbox?
Disallow: /it/user/*/shoutbox?
Disallow: /ja/user/*/shoutbox?
Disallow: /pl/user/*/shoutbox?
Disallow: /pt/user/*/shoutbox?
Disallow: /ru/user/*/shoutbox?
Disallow: /sv/user/*/shoutbox?
Disallow: /tr/user/*/shoutbox?
Disallow: /zh/user/*/shoutbox?

Disallow: /user/*/shoutbox/*
Disallow: /de/user/*/shoutbox/*
Disallow: /es/user/*/shoutbox/*
Disallow: /fr/user/*/shoutbox/*
Disallow: /it/user/*/shoutbox/*
Disallow: /ja/user/*/shoutbox/*
Disallow: /pl/user/*/shoutbox/*
Disallow: /pt/user/*/shoutbox/*
Disallow: /ru/user/*/shoutbox/*
Disallow: /sv/user/*/shoutbox/*
Disallow: /tr/user/*/shoutbox/*
Disallow: /zh/user/*/shoutbox/*

Disallow: /music/*/+shoutbox?
Disallow: /de/music/*/+shoutbox?
Disallow: /es/music/*/+shoutbox?
Disallow: /fr/music/*/+shoutbox?
Disallow: /it/music/*/+shoutbox?
Disallow: /ja/music/*/+shoutbox?
Disallow: /pl/music/*/+shoutbox?
Disallow: /pt/music/*/+shoutbox?
Disallow: /ru/music/*/+shoutbox?
Disallow: /sv/music/*/+shoutbox?
Disallow: /tr/music/*/+shoutbox?
Disallow: /zh/music/*/+shoutbox?

Disallow: /music/*/+shoutbox/*
Disallow: /de/music/*/+shoutbox/*
Disallow: /es/music/*/+shoutbox/*
Disallow: /fr/music/*/+shoutbox/*
Disallow: /it/music/*/+shoutbox/*
Disallow: /ja/music/*/+shoutbox/*
Disallow: /pl/music/*/+shoutbox/*
Disallow: /pt/music/*/+shoutbox/*
Disallow: /ru/music/*/+shoutbox/*
Disallow: /sv/music/*/+shoutbox/*
Disallow: /tr/music/*/+shoutbox/*
Disallow: /zh/music/*/+shoutbox/*

# N.B: these are not covered by the above /music/ rule
# (shoutbox vs +shoutbox)
Disallow: /music/*/+images/*/shoutbox?
Disallow: /de/music/*/+images/*/shoutbox?
Disallow: /es/music/*/+images/*/shoutbox?
Disallow: /fr/music/*/+images/*/shoutbox?
Disallow: /it/music/*/+images/*/shoutbox?
Disallow: /ja/music/*/+images/*/shoutbox?
Disallow: /pl/music/*/+images/*/shoutbox?
Disallow: /pt/music/*/+images/*/shoutbox?
Disallow: /ru/music/*/+images/*/shoutbox?
Disallow: /sv/music/*/+images/*/shoutbox?
Disallow: /tr/music/*/+images/*/shoutbox?
Disallow: /zh/music/*/+images/*/shoutbox?

Disallow: /music/*/+images/*/shoutbox/*
Disallow: /de/music/*/+images/*/shoutbox/*
Disallow: /es/music/*/+images/*/shoutbox/*
Disallow: /fr/music/*/+images/*/shoutbox/*
Disallow: /it/music/*/+images/*/shoutbox/*
Disallow: /ja/music/*/+images/*/shoutbox/*
Disallow: /pl/music/*/+images/*/shoutbox/*
Disallow: /pt/music/*/+images/*/shoutbox/*
Disallow: /ru/music/*/+images/*/shoutbox/*
Disallow: /sv/music/*/+images/*/shoutbox/*
Disallow: /tr/music/*/+images/*/shoutbox/*
Disallow: /zh/music/*/+images/*/shoutbox/*

Disallow: /music/*/+wiki/shoutbox?
Disallow: /de/music/*/+wiki/shoutbox?
Disallow: /es/music/*/+wiki/shoutbox?
Disallow: /fr/music/*/+wiki/shoutbox?
Disallow: /it/music/*/+wiki/shoutbox?
Disallow: /ja/music/*/+wiki/shoutbox?
Disallow: /pl/music/*/+wiki/shoutbox?
Disallow: /pt/music/*/+wiki/shoutbox?
Disallow: /ru/music/*/+wiki/shoutbox?
Disallow: /sv/music/*/+wiki/shoutbox?
Disallow: /tr/music/*/+wiki/shoutbox?
Disallow: /zh/music/*/+wiki/shoutbox?

Disallow: /music/*/+wiki/shoutbox/*
Disallow: /de/music/*/+wiki/shoutbox/*
Disallow: /es/music/*/+wiki/shoutbox/*
Disallow: /fr/music/*/+wiki/shoutbox/*
Disallow: /it/music/*/+wiki/shoutbox/*
Disallow: /ja/music/*/+wiki/shoutbox/*
Disallow: /pl/music/*/+wiki/shoutbox/*
Disallow: /pt/music/*/+wiki/shoutbox/*
Disallow: /ru/music/*/+wiki/shoutbox/*
Disallow: /sv/music/*/+wiki/shoutbox/*
Disallow: /tr/music/*/+wiki/shoutbox/*
Disallow: /zh/music/*/+wiki/shoutbox/*

Disallow: /music/*/+images/*
Disallow: /de/music/*/+images/*
Disallow: /es/music/*/+images/*
Disallow: /fr/music/*/+images/*
Disallow: /it/music/*/+images/*
Disallow: /ja/music/*/+images/*
Disallow: /pl/music/*/+images/*
Disallow: /pt/music/*/+images/*
Disallow: /ru/music/*/+images/*
Disallow: /sv/music/*/+images/*
Disallow: /tr/music/*/+images/*
Disallow: /zh/music/*/+images/*

# AJAX content
Disallow: /search/autocomplete
Disallow: /de/search/autocomplete
Disallow: /es/search/autocomplete
Disallow: /fr/search/autocomplete
Disallow: /it/search/autocomplete
Disallow: /ja/search/autocomplete
Disallow: /pl/search/autocomplete
Disallow: /pt/search/autocomplete
Disallow: /ru/search/autocomplete
Disallow: /sv/search/autocomplete
Disallow: /tr/search/autocomplete
Disallow: /zh/search/autocomplete

Disallow: /player
Disallow: /de/player
Disallow: /es/player
Disallow: /fr/player
Disallow: /it/player
Disallow: /ja/player
Disallow: /pl/player
Disallow: /pt/player
Disallow: /ru/player
Disallow: /sv/player
Disallow: /tr/player
Disallow: /zh/player

Disallow: /features/partial/page-bottom
Disallow: /de/features/partial/page-bottom
Disallow: /es/features/partial/page-bottom
Disallow: /fr/features/partial/page-bottom
Disallow: /it/features/partial/page-bottom
Disallow: /ja/features/partial/page-bottom
Disallow: /pl/features/partial/page-bottom
Disallow: /pt/features/partial/page-bottom
Disallow: /ru/features/partial/page-bottom
Disallow: /sv/features/partial/page-bottom
Disallow: /tr/features/partial/page-bottom
Disallow: /zh/features/partial/page-bottom

Disallow: /features/partial/footer
Disallow: /de/features/partial/footer
Disallow: /es/features/partial/footer
Disallow: /fr/features/partial/footer
Disallow: /it/features/partial/footer
Disallow: /ja/features/partial/footer
Disallow: /pl/features/partial/footer
Disallow: /pt/features/partial/footer
Disallow: /ru/features/partial/footer
Disallow: /sv/features/partial/footer
Disallow: /tr/features/partial/footer
Disallow: /zh/features/partial/footer


Disallow: /harming/humans
Disallow: /ignoring/human/orders
Disallow: /harm/to/self

Allow: /

Sitemap: https://www.last.fm/sitemap-index-secure.xml

User-Agent: Bingbot
Crawl-Delay: 1

Search preview

www.last.fm
Last.fm | Play music, find songs, and discover artists
The world's largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm

Most important keywords

Following keywords were found. You can check the keyword optimization of this page for each keyword.

KeywordResultRecheck
Music73%Check
Artists65%Check
Play music60%Check
world56%Check
Scrobbles54%Check
Scrobble54%Check
Free Music54%Check
Music Downloads54%Check
songs51%Check
listen51%Check

Automatically check last.fm including all subpages at once!

Try for free
Guaranteed free of charge during trial period.

Cookie Policy

We use cookies to make our site work and also for analytics and advertising purposes. You can enable or disable optional cookies as desired. See the following links for more information.

We need these so the site can function properly

So we can better understand how visitors use our website

So we can serve you tailored ads and promotions