Recherche avancée

Médias (91)

Autres articles (1)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (363)

  • Web Analytics Reports : 10 Key Types and How to Use Them

    29 janvier, par Erin

    You can’t optimise your website to drive better results if you don’t know how visitors are engaging with your site.

    But how do you correctly analyse data and identify patterns ? With the right platform, you can use a wide range of web analytics reports to dive deep into the data.

    In this article, we’ll discuss what website analytics reports are, different types, why you need them, and how to use reports to find the insights you need.

    What is web analytics ?

    Website analytics is the process of gathering, processing, and analysing data that shows what users are doing when they visit your website. 

    You typically achieve this with web analytics tools by adding a tracking code that shares data with the analytics platform when someone visits the site.

    Illustration of how website analytics works

    The visitors trigger the tracking code, which collects data on how they act while on your site and then sends that information to the analytics platform. You can then see the data in your analytics solution and create reports based on this data.

    While there are a lot of web analytics solutions available, this article will specifically demonstrate reports using Matomo.

    What are web analytics reports ?

    Web analytics reports are analyses that focus on specific data points within your analytics platform. 

    For example, this channel report in Matomo shows the top referring channels of a website.

    Channel types report in Matomo analytics

    Your marketing team can use this report to determine which channels drive the best results. In the example above, organic search drives almost double the visits and actions of social campaigns. 

    If you’re investing the same amount of money, you’d want to move more of your budget from social to search.

    Why you need to get familiar with specific web analytics reports

    The default web analytics dashboard offers an overview of high-level trends in performance. However, it usually does not give you specific insights that can help you optimise your marketing campaigns.

    For example, you can see that your conversions are down month over month. But, at a glance, you do not understand why that is.

    To understand why, you need to go granular and wider — looking into qualifying data that separates different types of visitors from each other.

    Gartner predicts that 70% of organisations will focus on “small and wide” data by 2025 over “big data.” Most companies lack the data volume to simply let big data and algorithms handle the optimising.

    What you can do instead is dive deep into each visitor. Figure out how they engage with your site, and then you can adjust your campaigns and page content accordingly.

    Common types of web analytics reports

    There are dozens of different web analytics reports, but they usually fall into four separate categories :

    Diagram that illustrates the main types of web analytics reports
    • Referral sources : These reports show where your visitors come from. They range from channel reports — search, social media — to specific campaigns and ads.
    • Engagement (on-site actions) : These reports dive into what visitors are doing on your site. They break down clicks, scrolling, completed conversion goals, and more.
    • E-commerce performance : These reports show the performance of your e-commerce store. They’ll help you dive into the sales of individual products, trends in cart abandonment and more.
    • Demographics : These reports help you understand more about your visitors — where they’re visiting from, their browser language, device, and more.

    You can even combine insights across all four using audience segmentation and custom reports. (We’ll cover this in more detail later.)

    How to use 10 important website analytics reports

    The first step is to install the website analytics code on your website. (We include more detailed information in our guide on how to track website visitors.)

    Then, you need to wait until you have a few days (or, if you have limited traffic, a few weeks) of data. Without sufficient website visitor data, none of the reports will be meaningful.

    Visitor Overview report

    First, let’s take a look at the Visitor Overview report. It’s a general report that breaks down the visits over a given time period.

    Visitor overview report in Matomo

    What this report shows :

    • Trends in unique visits month over month
    • Basic engagement trends like the average visit length and bounce rate
    • The number of actions taken per page

    In general, this report is more of a high-level indicator you can use to explore certain areas more thoroughly. For example, if most of your traffic comes from organic traffic or social media, you can dive deeper into those channels.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Location report

    Next up, we have the most basic type of demographic report — the Location report. It shows where your visitors tend to access your website from.

    Location report in Matomo

    What this report shows :

    • The country, state or city your visitors access your website from

    This report is most useful for identifying regional trends. You may notice that your site is growing in popularity in a country. You can take advantage of this by creating a regional campaign to double down on a high performing audience.

    Device report

    Next, we have the Device report, which breaks down your visitors’ devices.

    Device report in Matomo analytics

    What this report shows :

    • Overall device types used by your visitors
    • Specific device models used

    Today, most websites are responsive or use mobile-first design. So, just seeing that many people access your site through smartphones probably isn’t all that surprising.

    But you should ensure your responsive design doesn’t break down on popular devices. The design may not work effectively because many phones have different screen resolutions. 

    Users Flow report

    The Users Flow report dives deeper into visitor engagement — how your visitors act on your site. It shows common landing pages — the first page visitors land on — and how they usually navigate your site from there.

    Users flow report in Matomo analytics

    What this report shows :

    • Popular landing pages
    • How your visitors most commonly navigate your site

    You can use this report to determine which intermediary pages are crucial to keeping visitors engaged. For example, you can prioritise optimisation and rewriting for case study pages that don’t get a lot of direct search or campaign traffic.

    Improving this flow can improve conversion rates and the impact of your marketing efforts.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Exit Pages report

    The Exit Pages report complements the Users Flow report well. It highlights the most common pages visitors leave your website from.

    Exit pages report in Matomo analytics

    What this report shows :

    • The most common exit pages on your website
    • The exit rates of these pages

    Pages with high exit rates fall into two categories. The first are pages where it makes sense that visitors leave, like a post-purchase thank-you page. The second are pages where you’d want your visitors to stay and keep flowing down the funnel. When the rates are unusually high on product pages, category pages, or case study pages, you may have found a problem.

    By combining insights from the Users Flow and Exit Pages reports, you can find valuable candidates for optimisation. This is a key aspect of effective conversion rate optimisation.

    Traffic Acquisition Channel report

    The Acquisition Channels report highlights the channels that drive the most visitors to your site.

    Acquisition report in Matomo analytics

    What this report shows :

    • Top referring traffic sources by channel type
    • The average time on site, bounce rates, and actions taken by the source

    Because of increasingly privacy-sensitive browsers and apps, the best way to reliably track traffic sources is to use campaign tracking URL. Matomo offers an easy-to-use campaign tracking URL builder to simplify this process.

    Search Engines and Keywords report

    The Search Engines and Keywords report shows which keywords are driving the most organic search traffic and from what search engines.

    Search engine keyword report in Matomo analytics

    What this report shows :

    • Search engine keywords that drive traffic
    • The different search engines that refer visitors

    One of the best ways to use this report is to identify low-hanging fruit. You want to find keywords driving some traffic where your page isn’t ranked in the top three results. If the keyword has high traffic potential, you should then work to optimise that page to rank higher and get more traffic. This technique is an efficient way to improve your SEO performance.

    Ecommerce Products report

    If you sell products directly on your website, the Ecommerce Products report is a lifesaver. It shows you exactly how all your products are performing.

    Ecommerce product report in Matomo analytics

    What this report shows :

    • How your products are selling
    • The average sale price (with coupons) and quantity

    This report could help an online retailer identify top-selling items, adjust pricing based on average sale prices, and strategically allocate resources to promote or restock high-performing products for maximum profitability.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Ecommerce Log report

    If you want to explore every single ecommerce interaction, the Ecommerce Log report is for you. It breaks down the actions of visitors who add products to their cart in real time.

    Ecommerce log report in Matomo analytics

    What this report shows :

    • The full journey of completed purchases and abandoned carts
    • The exact actions your potential customers take and how long their journeys last

    If you suspect that the user experience of your online store isn’t perfect, this report helps you confirm or deny that suspicion. By closely examining individual interactions, you can identify common exit pages or other issues.

  • ffmpeg Audiosegment error in get audio chunks in socketIo server in python

    26 janvier, par a_crszkvc30Last_NameCol

    I want to send each audio chunk every minute.
this is the test code and i want to save audiofile and audio chunk file.
then, i will combine two audio files stop button was worked correctly but with set time function is not worked in python server.
there is python server code with socketio

    


    def handle_voice(sid,data): # blob 으로 들어온 데이터 
    # BytesIO를 사용하여 메모리 상에서 오디오 데이터를 로드
    audio_segment = AudioSegment.from_file(BytesIO(data), format="webm")
    directory = "dddd"
    # 오디오 파일로 저장
    #directory = str(names_sid.get(sid))
    if not os.path.exists(directory):
        os.makedirs(directory)
 
    # 오디오 파일로 저장
    file_path = os.path.join(directory, f'{sid}.wav')
    audio_segment.export(file_path, format='wav') 
    print('오디오 파일 저장 완료')`
 


    


    and there is client

    


    &#xA;&#xA;&#xA;&#xA;    &#xA;    &#xA;    <code class="echappe-js">&lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.2/socket.io.js&quot;&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;    &#xA;    
    

    &#xA;

    &#xA;

    &#xA; &lt;script&gt;&amp;#xA;        var socket = io(&amp;#x27;http://127.0.0.1:5000&amp;#x27;);&amp;#xA;        const record = document.getElementById(&quot;record&quot;)&amp;#xA;        const stop = document.getElementById(&quot;stop&quot;)&amp;#xA;        const soundClips = document.getElementById(&quot;sound-clips&quot;)&amp;#xA;        const chkHearMic = document.getElementById(&quot;chk-hear-mic&quot;)&amp;#xA;&amp;#xA;        const audioCtx = new(window.AudioContext || window.webkitAudioContext)() // 오디오 컨텍스트 정의&amp;#xA;&amp;#xA;        const analyser = audioCtx.createAnalyser()&amp;#xA;        //        const distortion = audioCtx.createWaveShaper()&amp;#xA;        //        const gainNode = audioCtx.createGain()&amp;#xA;        //        const biquadFilter = audioCtx.createBiquadFilter()&amp;#xA;&amp;#xA;        function makeSound(stream) {&amp;#xA;            const source = audioCtx.createMediaStreamSource(stream)&amp;#xA;            socket.connect()&amp;#xA;            source.connect(analyser)&amp;#xA;            //            analyser.connect(distortion)&amp;#xA;            //            distortion.connect(biquadFilter)&amp;#xA;            //            biquadFilter.connect(gainNode)&amp;#xA;            //            gainNode.connect(audioCtx.destination) // connecting the different audio graph nodes together&amp;#xA;            analyser.connect(audioCtx.destination)&amp;#xA;&amp;#xA;        }&amp;#xA;&amp;#xA;        if (navigator.mediaDevices) {&amp;#xA;            console.log(&amp;#x27;getUserMedia supported.&amp;#x27;)&amp;#xA;&amp;#xA;            const constraints = {&amp;#xA;                audio: true&amp;#xA;            }&amp;#xA;            let chunks = []&amp;#xA;&amp;#xA;            navigator.mediaDevices.getUserMedia(constraints)&amp;#xA;                .then(stream =&gt; {&amp;#xA;&amp;#xA;                    const mediaRecorder = new MediaRecorder(stream)&amp;#xA;                    &amp;#xA;                    chkHearMic.onchange = e =&gt; {&amp;#xA;                        if(e.target.checked == true) {&amp;#xA;                            audioCtx.resume()&amp;#xA;                            makeSound(stream)&amp;#xA;                        } else {&amp;#xA;                            audioCtx.suspend()&amp;#xA;                        }&amp;#xA;                    }&amp;#xA;                    &amp;#xA;                    record.onclick = () =&gt; {&amp;#xA;                        mediaRecorder.start(1000)&amp;#xA;                        console.log(mediaRecorder.state)&amp;#xA;                        console.log(&quot;recorder started&quot;)&amp;#xA;                        record.style.background = &quot;red&quot;&amp;#xA;                        record.style.color = &quot;black&quot;&amp;#xA;                    }&amp;#xA;&amp;#xA;                    stop.onclick = () =&gt; {&amp;#xA;                        mediaRecorder.stop()&amp;#xA;                        console.log(mediaRecorder.state)&amp;#xA;                        console.log(&quot;recorder stopped&quot;)&amp;#xA;                        record.style.background = &quot;&quot;&amp;#xA;                        record.style.color = &quot;&quot;&amp;#xA;                    }&amp;#xA;&amp;#xA;                    mediaRecorder.onstop = e =&gt; {&amp;#xA;                        console.log(&quot;data available after MediaRecorder.stop() called.&quot;)&amp;#xA;                        const bb = new Blob(chunks, { &amp;#x27;type&amp;#x27; : &amp;#x27;audio/wav&amp;#x27; })&amp;#xA;                        socket.emit(&amp;#x27;voice&amp;#x27;,bb)&amp;#xA;                        const clipName = prompt(&quot;오디오 파일 제목을 입력하세요.&quot;, new Date())&amp;#xA;&amp;#xA;                        const clipContainer = document.createElement(&amp;#x27;article&amp;#x27;)&amp;#xA;                        const clipLabel = document.createElement(&amp;#x27;p&amp;#x27;)&amp;#xA;                        const audio = document.createElement(&amp;#x27;audio&amp;#x27;)&amp;#xA;                        const deleteButton = document.createElement(&amp;#x27;button&amp;#x27;)&amp;#xA;&amp;#xA;                        clipContainer.classList.add(&amp;#x27;clip&amp;#x27;)&amp;#xA;                        audio.setAttribute(&amp;#x27;controls&amp;#x27;, &amp;#x27;&amp;#x27;)&amp;#xA;                        deleteButton.innerHTML = &quot;삭제&quot;&amp;#xA;                        clipLabel.innerHTML = clipName&amp;#xA;&amp;#xA;                        clipContainer.appendChild(audio)&amp;#xA;                        clipContainer.appendChild(clipLabel)&amp;#xA;                        clipContainer.appendChild(deleteButton)&amp;#xA;                        soundClips.appendChild(clipContainer)&amp;#xA;&amp;#xA;                        audio.controls = true&amp;#xA;                        const blob = new Blob(chunks, {&amp;#xA;                            &amp;#x27;type&amp;#x27;: &amp;#x27;audio/ogg codecs=opus&amp;#x27;&amp;#xA;                        })&amp;#xA;&amp;#xA;                        chunks = []&amp;#xA;                        const audioURL = URL.createObjectURL(blob)&amp;#xA;                        audio.src = audioURL&amp;#xA;                        console.log(&quot;recorder stopped&quot;)&amp;#xA;&amp;#xA;                        deleteButton.onclick = e =&gt; {&amp;#xA;                            evtTgt = e.target&amp;#xA;                            evtTgt  .parentNode.parentNode.removeChild(evtTgt.parentNode)&amp;#xA;                        }&amp;#xA;                    }&amp;#xA;&amp;#xA;                  mediaRecorder.ondataavailable = function(e) {&amp;#xA;                    chunks.push(e.data)&amp;#xA;                    if (chunks.length &gt;= 5)&amp;#xA;                    {&amp;#xA;                        const bloddb = new Blob(chunks, { &amp;#x27;type&amp;#x27; : &amp;#x27;audio/wav&amp;#x27; })&amp;#xA;                        socket.emit(&amp;#x27;voice&amp;#x27;, bloddb)&amp;#xA;                         &amp;#xA;                        chunks = []&amp;#xA;                    }&amp;#xA;                    mediaRecorder.sendData = function(buffer) {&amp;#xA;                        const bloddb = new Blob(buffer, { &amp;#x27;type&amp;#x27; : &amp;#x27;audio/wav&amp;#x27; })&amp;#xA;                        socket.emit(&amp;#x27;voice&amp;#x27;, bloddb)&amp;#xA;}&amp;#xA;};&amp;#xA;                })&amp;#xA;                .catch(err =&gt; {&amp;#xA;                    console.log(&amp;#x27;The following error occurred: &amp;#x27; &amp;#x2B; err)&amp;#xA;                })&amp;#xA;        }&amp;#xA;    &lt;/script&gt;&#xA;&#xA;

    &#xA;

    ask exception was never retrieved&#xA;future: <task finished="finished" coro="<InstrumentedAsyncServer._handle_event_internal()" defined="defined" at="at"> exception=CouldntDecodeError(&#x27;Decoding failed. ffmpeg returned error code: 3199971767\n\nOutput from ffmpeg/avlib:\n\nffmpeg version 6.1.1-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers\r\n  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)\r\n  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint\r\n  libavutil      58. 29.100 / 58. 29.100\r\n  libavcodec     60. 31.102 / 60. 31.102\r\n  libavformat    60. 16.100 / 60. 16.100\r\n  libavdevice    60.  3.100 / 60.  3.100\r\n  libavfilter     9. 12.100 /  9. 12.100\r\n  libswscale      7.  5.100 /  7.  5.100\r\n  libswresample   4. 12.100 /  4. 12.100\r\n  libpostproc    57.  3.100 / 57.  3.100\r\n[cache @ 000001d9828efe40] Inner protocol failed to seekback end : -40\r\n[matroska,webm @ 000001d9828efa00] EBML header parsing failed\r\n[cache @ 000001d9828efe40] Statistics, cache hits:0 cache misses:3\r\n[in#0 @ 000001d9828da3c0] Error opening input: Invalid data found when processing input\r\nError opening input file cache:pipe:0.\r\nError opening input files: Invalid data found when processing input\r\n&#x27;)>&#xA;Traceback (most recent call last):&#xA;  File "f:\fastapi-socketio-wb38\.vent\Lib\site-packages\socketio\async_admin.py", line 276, in _handle_event_internal&#xA;    ret = await self.sio.__handle_event_internal(server, sid, eio_sid,&#xA;          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File "f:\fastapi-socketio-wb38\.vent\Lib\site-packages\socketio\async_server.py", line 597, in _handle_event_internal&#xA;    r = await server._trigger_event(data[0], namespace, sid, *data[1:])&#xA;        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File "f:\fastapi-socketio-wb38\.vent\Lib\site-packages\socketio\async_server.py", line 635, in _trigger_event&#xA;    ret = handler(*args)&#xA;          ^^^^^^^^^^^^^^&#xA;  File "f:\fastapi-socketio-wb38\Python-Javascript-Websocket-Video-Streaming--main\poom2.py", line 153, in handle_voice&#xA;    audio_segment = AudioSegment.from_file(BytesIO(data), format="webm")&#xA;                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File "f:\fastapi-socketio-wb38\.vent\Lib\site-packages\pydub\audio_segment.py", line 773, in from_file&#xA;    raise CouldntDecodeError(&#xA;pydub.exceptions.CouldntDecodeError: Decoding failed. ffmpeg returned error code: 3199971767&#xA;&#xA;Output from ffmpeg/avlib:&#xA;&#xA;ffmpeg version 6.1.1-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint&#xA;  libavutil      58. 29.100 / 58. 29.100&#xA;  libavcodec     60. 31.102 / 60. 31.102&#xA;  libavformat    60. 16.100 / 60. 16.100&#xA;  libavdevice    60.  3.100 / 60.  3.100&#xA;  libavfilter     9. 12.100 /  9. 12.100&#xA;  libswscale      7.  5.100 /  7.  5.100&#xA;  libswresample   4. 12.100 /  4. 12.100&#xA;  libpostproc    57.  3.100 / 57.  3.100&#xA;[cache @ 000001d9828efe40] Inner protocol failed to seekback end : -40&#xA;[matroska,webm @ 000001d9828efa00] EBML header parsing failed&#xA;[cache @ 000001d9828efe40] Statistics, cache hits:0 cache misses:3&#xA;[in#0 @ 000001d9828da3c0] Error opening input: Invalid data found when processing input&#xA;Error opening input file cache:pipe:0.&#xA;Error opening input files: Invalid data found when processing input&#xA;</task>

    &#xA;

    im using version of ffmpeg-6.1.1-full_build.&#xA;i dont know this error exist the stop button sent event correctly. but chunk data was not work correctly in python server.&#xA;my english was so bad. sry

    &#xA;

  • What is Funnel Analysis ? A Complete Guide for Quick Results

    25 janvier, par Erin

    Your funnel is leaking.

    You’re losing visitors.

    You’re losing conversions and sales.

    But you don’t know how it’s happening, where it’s happening, or what to do about it.

    The reason ? You aren’t properly analysing your funnels.

    If you want to improve conversions and grow your business, you need to understand how to properly assess your sales funnels to set yourself up for success.

    In this guide, we’ll show you what funnel analysis is, why it’s important, and what steps you need to take to leverage it to improve conversions.

    What is funnel analysis ?

    Every business uses sales funnels, whether they know it or not.

    But most people aren’t analysing them, costing them conversions.

    What is funnel analysis?

    Funnel analysis is a marketing method to analyse the events leading to specific conversion points. 

    It aims to look at the entire journey of potential customers from the moment they first touch base with your website or business to the moment they click “buy.”

    It’s assessing what your audience is doing at every step of the journey.

    By assessing what actions are taking place at scale, you can see where you’re falling short in your sales funnel.

    You’ll see :

    1. Where prospects are falling off.
    2. Where people are converting well.

    By gaining this understanding, you’ll better understand the health of your website’s sales funnels and overall marketing strategy.

    With that knowledge, you can optimise your marketing strategy to patch those leaks, improve conversions and grow your business.

    Why funnel analysis is important

    Funnel analysis is critical because your funnel is your business.

    When you analyse your funnel, you’re analysing your business.

    You’re looking at what’s working and what’s not so you can grow revenue and profit margins.

    Funnel analysis lets you monitor user behaviour to show you the motivation and intention behind their decisions.

    Here are five reasons you need to incorporate funnel analysis into your workflow.

    Why funnel analysis is important.

    1. Gives insights into your funnel problems

    The core purpose of funnel analysis is to look at what’s going on on your website.

    What are the most effective steps to conversion ?

    Where do users drop off in the conversion process ?

    And which pages contribute the most to conversion or drop-offs ?

    Funnel analysis helps you understand what’s going on with your site visitors. Plus, it helps you see what’s wrong with your funnel.

    If you aren’t sure what’s happening with your funnel, you won’t know what to improve to grow your revenue.

    2. Improves conversions

    When you know what’s going on with your funnel, you’ll know how to improve it.

    To improve your conversion funnel, you need to close the leaks. These are areas where website visitors are falling off.

    It’s the moment the conversion is lost.

    You need to use funnel analysis to give insight into these problem areas. Once you can see where the issue is, you can patch that leak and improve the percentage of visitors who convert.

    For example, if your conversion rate on your flagship product page has plateaued and you can’t figure out how to increase conversions, implementing a funnel analysis tactic like heatmaps will show you that visitors are spending time reading your product description. Still, they’re not spending much time near your call to action.

    Matomo's heatmaps feature

    This might tell you that you need to update your description copy or adjust your button (i.e. colour, size, copy). You can increase conversions by making those changes in your funnel analysis insights.

    3. Improves the customer experience

    Funnel analysis helps you see where visitors spend their time, what elements they interact with and where they fall off.

    One of the key benefits of analysing your funnel is you’ll be able to help improve the experience your visitors have on your website.

    For example, if you have informational videos on a specific web page to educate your visitors, you might use the Media Analytics feature in your web analytics solution to find out that they’re not spending much time watching them.

    This could lead you to believe that the content itself isn’t good or relevant to them.

    But, after implementing session recordings within your funnel analysis, you see people clicking a ton near the play button. This might tell you that they’re having trouble clicking the actual button on the video player due to poor UX.

    In this scenario, you could update the UX on your web page so the videos are easy to click and watch, no matter what device someone uses.

    With more video viewers, you can provide value to your visitors instead of leaving them frustrated trying to watch your videos.

    4. Grows revenue

    This is what you’re likely after : more revenue.

    More often than not, this means you need to focus on improving your conversion rate.

    Funnel analysis helps you find those areas where visitors are exiting so you can patch those leaks up and turn more visitors into customers.

    Let’s say you have a conversion rate of 1.7%.

    You get 50,000 visitors per month.

    Your average order is $82.

    Even if you increase your conversion rate by 10% (to 1.87%) through funnel analysis, here’s the monthly difference in revenue :

    Before : $69,700
    After : $76,670

    In one year, you’ll make nearly $80,000 in additional revenue from funnel analysis alone.

    Different types of funnel analysis

    There are a few different types of funnel analysis.

    How you define success in your funnel all comes down to one of these four pillars.

    Depending on your goals, business and industry, you may want to assess the different funnel analyses at different times.

    1. Pageview funnel analysis

    Pageview funnel analysis is about understanding how well your website content is performing. 

    It helps you enhance user experience, making visitors stay longer on your site. By identifying poor performing pages (pages with high exit rates), you can pinpoint areas that need optimisation for better engagement.

    2. Conversion funnel analysis

    Next up, we’re looking at conversion funnel analysis.

    This type of funnel analysis is crucial for marketers aiming to turn website visitors into action-takers. This involves tracking and optimising conversion goals, such as signing up for newsletters, downloading ebooks, submitting forms or signing up for free trials. 

    The primary goal of conversion funnel analysis is to boost your website’s overall conversion rates.

    3. E-commerce funnel analysis

    For businesses selling products online, e-commerce funnel analysis is essential. 

    It involves measuring whether your products are being purchased and finding drop-off points in the purchasing process. 

    By optimising the e-commerce funnel, you can enhance revenue and improve the overall efficiency of your sales process.

    How to conduct funnel analysis

    Now that you understand what funnel analysis is, why it’s important, and the different types of analysis, it’s time to show you how to do it yourself.

    To get started with funnel analysis, you need to have the right web analytics solution.

    Here are the most common funnel analysis tools and methods you can use :

    1. Funnel analytics

    If you want to choose a single tool to conduct funnel analysis, it’s an all-in-one web analytics tool, like Matomo.

    Matomo funnel analytics example one.

    With Matomo’s Funnel Analytics, you can dive into your whole funnel and analyse each step (and each step’s conversion rate).

    Matomo funnel analytics stages.

    For instance, if you look at the example above, you can see the proceed rate at each funnel step before the conversion page.

    This means you can improve each proceed rate, to drive more traffic to your conversion page in order to increase conversion rates.

    In the above snapshot from Matomo, it shows visitors starting on the job board overview page, moving on to view specific job listings. The goal is to convert these visitors into job applicants.

    However, a significant issue arises at the job view stage, where 95% of visitors don’t proceed to job application. To increase conversions, we need to first concentrate on improving the job view page.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    2. Heatmaps

    Heatmaps is a behaviour analytics tool that lets you see different visitor activities, including :

    • Mouse movement
    • How far down visitors scroll
    • Clicks

    You can see which elements were clicked on and which weren’t and how far people scroll down your page.

    Heatmaps in Matomo

    A heatmap lets you see which parts of a page are getting the most attention and which parts go unnoticed by your users.

    For example, if, during your funnel analysis, you see that a lot of visitors are falling off after they land on the checkout page, then you might want to add a heatmap on your checkout page to see where and why people are exiting.

    3. Session recordings

    Want to see what individual users are doing and how they’re interacting with your site ?

    Then, you’ll want to check out session recordings.

    A session recording is a video playback of a visitor’s time on your website.

    Session Recordings

    It’s the most effective method to observe your visitors’ interactions with your site, eliminating uncertainty when identifying areas for funnel improvement.

    Session recordings instill confidence in your optimisation efforts by providing insights into why and where visitors may be dropping off in the funnel.

    4. A/B testing

    If you want to take the guesswork out of optimising your funnel and increasing your conversions, you need to start A/B testing.

    An A/B test is where you create two versions of a web page to determine which one converts better.

    Matomo A/B Test feature

    For example, if your heatmaps and session recordings show that your users are dropping off near your call to action, it may be time to test a new version.

    You may find that by simply testing a different colour button, you may increase conversions by 20% or more.

    5. Form analytics

    Are you trying to get more leads to fill out forms on your site ?

    Well, Form Analytics can help you understand how your website visitors interact with your signup forms.

    You can view metrics such as starter rate, conversion rate, average hesitation time and average time spent.

    This information allows you to optimise your forms effectively, ultimately maximising your success.

    Let’s look at the performance of a form using Matomo’s Form Analytics feature below.

    In the Matomo example, our starter rate stands at a solid 60.1%, but there’s a significant drop to a submitter rate of 29.3%, resulting in a conversion rate of 16.3%.

    Looking closer, people are hesitating for about 16.2 seconds and taking nearly 1 minute 39 seconds on average to complete our form.

    This could indicate our form is confusing and requesting too much. Simplifying it could help increase sign-ups.

    See first-hand how Concrete CMS tripled their leads using Form Analytics in Matomo.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Start optimising your funnels with Matomo today

    If you want to optimise your business, you must optimise your funnels.

    Without information on what’s working and what’s not, you’ll never know if your website changes are making a difference.

    Worse yet, you could have underperforming stages in your funnel, but you won’t know unless you start looking.

    Funnel analysis changes that.

    By analysing your funnels regularly, you’ll be able to see where visitors are leaking out of your funnel. That way, you can get more visitors to convert without generating more traffic.

    If you want to improve conversions and grow revenue today, try Matomo’s Funnel Analytics feature.

    You’ll be able to see conversion rates, drop-offs, and fine-tuned details on each step of your funnel so you can turn more potential customers into paying customers.

    Additionally, Matomo comes equipped with features like heatmaps, session recordings, A/B testing, and form analytics to optimise your funnels with confidence.

    Try Matomo free for 21-days. No credit card required.