Recherche avancée

Médias (91)

Autres articles (69)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (5049)

  • ffmpeg failed to load audio file

    14 avril 2024, par Vaishnav Ghenge
    Failed to load audio: ffmpeg version 5.1.4-0+deb12u1 Copyright (c) Failed to load audio: ffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
/tmp/tmpjlchcpdm.wav: Invalid data found when processing input


    


    backend :

    


    
@app.route("/transcribe", methods=["POST"])
def transcribe():
    # Check if audio file is present in the request
    if 'audio_file' not in request.files:
        return jsonify({"error": "No file part"}), 400
    
    audio_file = request.files.get('audio_file')

    # Check if audio_file is sent in files
    if not audio_file:
        return jsonify({"error": "`audio_file` is missing in request.files"}), 400

    # Check if the file is present
    if audio_file.filename == '':
        return jsonify({"error": "No selected file"}), 400

    # Save the file with a unique name
    filename = secure_filename(audio_file.filename)
    unique_filename = os.path.join("uploads", str(uuid.uuid4()) + '_' + filename)
    # audio_file.save(unique_filename)
    
    # Read the contents of the audio file
    contents = audio_file.read()

    max_file_size = 500 * 1024 * 1024
    if len(contents) > max_file_size:
        return jsonify({"error": "File is too large"}), 400

    # Check if the file extension suggests it's a WAV file
    if not filename.lower().endswith('.wav'):
        # Delete the file if it's not a WAV file
        os.remove(unique_filename)
        return jsonify({"error": "Only WAV files are supported"}), 400

    print(f"\033[92m{filename}\033[0m")

    # Call Celery task asynchronously
    result = transcribe_audio.delay(contents)

    return jsonify({
        "task_id": result.id,
        "status": "pending"
    })


@celery_app.task
def transcribe_audio(contents):
    # Transcribe the audio
    try:
        # Create a temporary file to save the audio data
        with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as temp_audio:
            temp_path = temp_audio.name
            temp_audio.write(contents)

            print(f"\033[92mFile temporary path: {temp_path}\033[0m")
            transcribe_start_time = time.time()

            # Transcribe the audio
            transcription = transcribe_with_whisper(temp_path)
            
            transcribe_end_time = time.time()
            print(f"\033[92mTranscripted text: {transcription}\033[0m")

            return transcription, transcribe_end_time - transcribe_start_time

    except Exception as e:
        print(f"\033[92mError: {e}\033[0m")
        return str(e)


    


    frontend :

    


        useEffect(() => {
        const init = () => {
            navigator.mediaDevices.getUserMedia({audio: true})
                .then((audioStream) => {
                    const recorder = new MediaRecorder(audioStream);

                    recorder.ondataavailable = e => {
                        if (e.data.size > 0) {
                            setChunks(prevChunks => [...prevChunks, e.data]);
                        }
                    };

                    recorder.onerror = (e) => {
                        console.log("error: ", e);
                    }

                    recorder.onstart = () => {
                        console.log("started");
                    }

                    recorder.start();

                    setStream(audioStream);
                    setRecorder(recorder);
                });
        }

        init();

        return () => {
            if (recorder && recorder.state === 'recording') {
                recorder.stop();
            }

            if (stream) {
                stream.getTracks().forEach(track => track.stop());
            }
        }
    }, []);

    useEffect(() => {
        // Send chunks of audio data to the backend at regular intervals
        const intervalId = setInterval(() => {
            if (recorder && recorder.state === 'recording') {
                recorder.requestData(); // Trigger data available event
            }
        }, 8000); // Adjust the interval as needed


        return () => {
            if (intervalId) {
                console.log("Interval cleared");
                clearInterval(intervalId);
            }
        };
    }, [recorder]);

    useEffect(() => {
        const processAudio = async () => {
            if (chunks.length > 0) {
                // Send the latest chunk to the server for transcription
                const latestChunk = chunks[chunks.length - 1];

                const audioBlob = new Blob([latestChunk]);
                convertBlobToAudioFile(audioBlob);
            }
        };

        void processAudio();
    }, [chunks]);

    const convertBlobToAudioFile = useCallback((blob: Blob) => {
        // Convert Blob to audio file (e.g., WAV)
        // This conversion may require using a third-party library or service
        // For example, you can use the MediaRecorder API to record audio in WAV format directly
        // Alternatively, you can use a library like recorderjs to perform the conversion
        // Here's a simplified example using recorderjs:

        const reader = new FileReader();
        reader.onload = () => {
            const audioBuffer = reader.result; // ArrayBuffer containing audio data

            // Send audioBuffer to Flask server or perform further processing
            sendAudioToFlask(audioBuffer as ArrayBuffer);
        };

        reader.readAsArrayBuffer(blob);
    }, []);

    const sendAudioToFlask = useCallback((audioBuffer: ArrayBuffer) => {
        const formData = new FormData();
        formData.append('audio_file', new Blob([audioBuffer]), `speech_audio.wav`);

        console.log(formData.get("audio_file"));

        fetch('http://34.87.75.138:8000/transcribe', {
            method: 'POST',
            body: formData
        })
            .then(response => response.json())
            .then((data: { task_id: string, status: string }) => {
                pendingTaskIdsRef.current.push(data.task_id);
            })
            .catch(error => {
                console.error('Error sending audio to Flask server:', error);
            });
    }, []);


    


    I was trying to pass the audio from frontend to whisper model which is in flask app

    


  • What Is Incrementality & Why Is It Important in Marketing ?

    26 mars 2024, par Erin

    Imagine this : you just launched your latest campaign and it was a major success.

    You blew last month’s results out of the water.

    You combined a variety of tactics, channels and ad creatives to make it work.

    Now, it’s time to build the next campaign.

    The only issue ?

    You don’t know what made it successful or how much your recent efforts impacted the results.

    You’ve been building your brand for years. You’ve built up a variety of marketing pillars that are working for you. So, how do you know how much of your campaign is from years of effort or a new tactic you just implemented ?

    The key is incrementality.

    This is a way to properly attribute the right weight to your marketing tactics.

    In this article, we break down what incrementality is in marketing, how it differs from traditional attribution and how you can calculate and track it to grow your business.

    What is incrementality in marketing ?

    Incrementality in marketing is growth that can be directly credited to a marketing effort above and beyond the success of the branding.

    It looks at how much a specific tactic positively impacted a campaign on top of overall branding and marketing strategies.

    What is incrementally in marketing?

    For example, this could be how much a specific tactic, campaign or channel helped increase conversions, email sign-ups or organic traffic.

    The primary purpose of incrementally in marketing is to more accurately determine the impact a single marketing variable had on the success of a project.

    It removes every other factor and isolates the specific method to help marketers double down on that strategy or move on to new tactics.

    With Matomo, you can track conversions simply. With our last non-direct channel attribution system, you’ll be able to quickly see what channels are converting (and which aren’t) so you can gain insights into incrementality. 

    See why over 1 million websites choose Matomo today.

    Try Matomo for Free

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

    No credit card required

    How incrementality differs from attribution

    In marketing and advertising, it’s crucial to understand what tactics and activities drive growth.

    Incrementality and attribution help marketers and business owners understand what efforts impact their results.

    But they’re not the same.

    Here’s how they differ :

    Incrementality vs. attribution

    Incrementality explained

    Incrementality measures how much a specific marketing campaign or activity drives additional sales or growth.

    Simply put, it’s analysing the difference between having never implemented the campaign (or tactic or channel) in the first place versus the impact of the activity.

    In other words, how much revenue would you have generated this month without campaign A ?

    And how much additional revenue did you generate directly due to campaign A ?

    The reality is that dozens of factors impact revenue and growth.

    You aren’t just pouring your marketing into one specific channel or campaign at a time.

    Chances are, you’ve got your hands on several marketing initiatives like SEO, PPC, organic social media, paid search, email marketing and more.

    Beyond that, you’ve built a brand with a not-so-tangible impact on your recurring revenue.

    So, the question is, if you took away your new campaign, would you still be generating the same amount of revenue ?

    And, if you add in that campaign, how much additional revenue and growth did it directly create ?

    That is incrementality. It’s how much a campaign went above and beyond to add new revenue that wouldn’t have been there otherwise.

    So, how does attribution play into all of this ?

    Attribution explained

    Attribution is simply the process of assigning credit for a conversion to a particular marketing touchpoint.

    While incrementality is about narrowing down the overall revenue impact from a particular campaign, attribution seeks to point to a specific channel to attribute a sale.

    For example, in any given marketing campaign, you have a few marketing tactics.

    Let’s say you’re launching a limited-time product.

    You might have :

    • Paid ads via Facebook and Instagram
    • A blog post sharing how the product works
    • Organic social media posts on Instagram and TikTok
    • Email waitlist campaign building excitement around the upcoming product
    • SMS campaigns to share a limited-time discount

    So, when the time comes for the sale launch, and you generate $30,000 in revenue, what channel gets the credit ?

    Do you give credit to the paid ads on Facebook ? What about Instagram ? They got people to follow you and got them on the email waitlist.

    Do you give credit to email for reminding people of the upcoming sale ? What about your social media posts that reminded people there ?

    Or do you credit your SMS campaign that shared a limited-time discount ?

    Which channel is responsible for the sale ?

    This is what attribution is all about.

    It’s about giving credit where credit is due.

    The reason you want to attribute credit ? So you know what’s working and can double down your efforts on the high-impact marketing activities and channels.

    Leveraging incrementality and attribution together

    Incrementality and attribution aren’t competing methods of analysing what’s working.

    They’re complementary to one another and go hand in hand.

    You can (and should) use attribution and incrementality in your marketing to help understand what activities, campaigns and channels are making the biggest incremental impact on your business growth.

    Why it’s important to measure incrementality

    Incrementality is crucial to measure if you want to pour your time, money and effort into the right marketing channels and tactics.

    Here are a few reasons why you need to measure incrementality if you want to be successful with your marketing and grow your business :

    1. Accurate data

    If you want to be an effective marketer, you need to be accurate.

    You can’t blindly start marketing campaigns in hopes that you will sell many products or services.

    That’s not how it works.

    Sure, you’ll probably make some sales here and there. But to truly be effective with your work, you must measure your activities and channels correctly.

    Incrementality helps you see how each channel, tactic or campaign made a difference in your marketing.

    Matomo gives you 100% accurate data on your website activities. Unlike Google Analytics, we don’t use data sampling which limits how much data is analysed.

    Screenshot example of the Matomo dashboard

    2. Helps you to best determine the right tactics for success

    How can you plan your marketing strategy if you don’t know what’s working ?

    Think about it.

    You’ll be blindly sailing the seas without a compass telling you where to go.

    Measuring incrementality in your marketing tactics and channels helps you understand the best tactics.

    It shows you what’s moving the needle (and what’s not).

    Once you can see the most impactful tactics and channels, you can forge future campaigns that you know will work.

    3. Allows you to get the most out of your marketing budget

    Since incrementality sheds light on what’s moving your business forward, you can confidently implement your efforts on the right tactics and channels.

    Guess what happens when you start doubling down on the most impactful activities ?

    You start increasing revenue, decreasing ad spend and getting a higher return on investment.

    The result is that you will get more out of your marketing budget.

    Not only will you boost revenue, but you’ll also be able to boost profit margins since you’re not wasting money on ineffective tactics.

    4. Increase traffic

    When you see what’s truly working in your business, you can figure out what channels and tactics you should be working.

    Incrementality helps you understand not only what your best revenue tactics are but also what channels and campaigns are bringing in the most traffic.

    When you can increase traffic, you can increase your overall marketing impact.

    5. Increase revenue

    Finally, with increased traffic, the inevitable result is more conversions.

    More conversions mean more revenue.

    Incrementality gives you a vision of the tactics and channels that are converting the best.

    If you can see that your SMS campaigns are driving the best ROI, then you know that you’ll grow your revenue by pouring more into acquiring SMS leads.

    By calculating incrementality regularly, you can rest assured that you’re only investing time and money into the most impactful activities in terms of revenue generation.

    How to calculate and test incrementality in marketing

    Now that you understand how incrementality works and why it’s important to calculate, the question is : 

    How do you calculate and conduct incrementality tests ?

    Given the ever-changing marketing landscape, it’s crucial to understand how to calculate and test incrementally in your business.

    If you’re not sure how incrementality testing works, then follow these simple steps :

    How to test and analyze incrementality in marketing?

    Your first step to get an incrementality measurement is to conduct what’s referred to as a “holdout test.”

    It’s not a robust test, but it’s an easy way to get the ball rolling with incrementality.

    Here’s how it works :

    1. Choose your target audience.

    With Matomo’s segmentation feature, you can get pretty specific with your target audience, such as :

      • Visitors from the UK
      • Returning visitors
      • Mobile users
      • Visitors who clicked on a specific ad
    1. Split your audience into two groups :
      • Control group (60% of the segment)
      • Test group (40% of the segment)
    1. Target the control group with your marketing tactic (the simpler the tactic, the better).
    1. Target the test group with a different marketing tactic.
    1. Analyse the results. The difference between the control and test groups is the incremental lift in results. The new marketing tactic is either more effective or not.
    1. Repeat the test with a new control group (with an updated tactic) and a new test group (with a new tactic).

    Matomo can help you analyse the results of your campaigns in our Goals feature. Set up business objectives so you can easily track different goals like conversions.

    Try Matomo for Free

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

    No credit card required

    Here’s an example of how this incrementality testing could look in real life.

    Imagine a fitness retailer wants to start showing Facebook ads in their marketing mix.

    The marketing manager decided to conduct a holdout test. If we match our example below with the steps above, this is how the holdout test might look.

    1. They choose people who’ve purchased free weights in the past as their target audience (see how that segmentation works ?).
    2. They split this segment into a control group and a test group.
    3. For this test, they direct their regular marketing campaign to the control group (60% of the segment). The campaign includes promoting a 20% off sale on organic social media posts, email marketing, and SMS.
    4. They direct their regular marketing campaign plus Facebook ads to the test group (40% of the segment).
    5. They ran the campaign for three weeks with the goal for sale conversions and noticed :
      • The control group had a 1.5% conversion rate.
      • The test group (with Facebook ads) had a 2.1% conversion rate.
      • In this scenario, they could see the group who saw the Facebook ads convert better.
      • They created the following formula to measure the incremental lift of the Facebook ads :
    Calculation: Incrementality in marketing.
      • Here’s how the calculation works out : (2.1% – 1.5%) / 1.5% = 40%

    The Facebook ads had a positive 40% incremental lift in conversions during the sale.

    Incrementality testing isn’t a one-and-done process, though.

    While this first test is a great sign for the marketing manager, it doesn’t mean they should immediately throw all their money into Facebook ads.

    They should continue conducting tests to verify the initial test.

    Use Matomo to track incrementality today

    Incrementality can give you insights into exactly what’s working in your marketing (and what’s not) so you can design proven strategies to grow your business.

    If you want more help tracking your marketing efforts, try Matomo today.

    Our web analytics and behaviour analytics platform gives you firsthand data on your website visitors you can use to craft effective marketing strategies.

    Matomo provides 100% accurate data. Unlike other major web analytics platforms, we don’t do data sampling. What you see is what’s really going on in your website. That way, you can make more informed decisions for better results.

    At Matomo, we take privacy very seriously and include several advanced privacy protections to ensure you are in full control.

    As a fully compliant web analytics solution, we’re fully compliant with some of the world’s strictest privacy regulations like GDPR. With Matomo, you get peace of mind knowing you can make data-driven decisions while also being compliant. 

    If you’re ready to launch a data-driven marketing strategy today and grow your business, get started with our 21-day free trial now. No credit card required.

  • Marketing Touchpoints : Examples, KPIs, and Best Practices

    11 mars 2024, par Erin

    The customer journey is rarely straightforward. Rather, each stage comprises numerous points of contact with your brand, known as marketing touchpoints. And each touchpoint is equally important to the customer experience. 

    This article will explore marketing touchpoints in detail, including how to analyse them with attribution models and which KPIs to track. It will also share tips on incorporating these touchpoints into your marketing strategy. 

    What are marketing touchpoints ? 

    Marketing touchpoints are the interactions that take place between brands and customers throughout the latter’s journey, either online or in person. 

    Omni-channel digital marketing illustration

    By understanding how customers interact with your brand before, during and after a purchase, you can identify the channels that contribute to starting, driving and closing buyer journeys. Not only that, but you’ll also learn how to optimise the customer experience. This can also help you : 

    • Promote customer loyalty through increased customer satisfaction
    • Improve your brand reputation and foster a more positive perception of your brand, supported by social proof 
    • Build brand awareness among prospective customers 
    • Reconnect with current customers to drive repeat business

    According to a 2023 survey, social media and video-sharing platforms are the leading digital touchpoints among US consumers.

    With the customer journey divided into three stages — awareness, consideration, and decision — we can group these interactions into three touchpoint segments, depending on whether they occur before, during or after a purchase. 

    Touchpoints before a purchase

    Touchpoints before a purchase are those initial interactions between potential customers and brands that occur during the awareness stage — before they’ve made a purchase decision. 

    Here are some key touchpoints at the pre-purchase stage : 

    • Customer reviews, forums, and testimonials 
    • Social media posts
    • Online ads 
    • Company events and product demos
    • Other digital touchpoints, like video content, blog posts, or infographics
    • Peer referral 

    In PwC’s 2024 Global Consumer Insights Pulse Survey, 54% of consumers listed search engines as their primary source of pre-purchase information, followed by Amazon (35%) and retailer websites (33%). 

    Here are the survey’s findings in Western Europe, specifically : 

    Social channels are another major pre-purchase touchpoint ; 25% of social media users aged 18 to 44 have made a purchase through a social media app over the past three months. 

    Touchpoints during a purchase

    Touchpoints during a purchase occur when the prospective customer has made their purchase decision. It’s the beginning of a (hopefully) lasting relationship with them. 

    It’s important to involve both marketing and sales teams here — and to keep track of conversion metrics

    Here are the main touchpoints at this stage : 

    • Company website pages 
    • Product pages and catalogues 
    • Communication between customers and sales reps 
    • Product packaging and labelling 
    • Point-of-sale (POS) — the final touchpoint the prospective customer will reach before making the final purchasing decision 

    Touchpoints after a purchase

    You can use touchpoints after a purchase to maintain a positive relationship and keep current customers engaged. Examples of touchpoints that contribute to a good post-purchase experience for the customer include the following : 

    • Thank-you emails 
    • Email newsletters 
    • Customer satisfaction surveys 
    • Cross-selling emails 
    • Renewal options 
    • Customer loyalty programs

    Email marketing remains significant across all touchpoint segments, with 44% of CMOs agreeing that it’s essential to their marketing strategy — and it also plays a particularly important role in the post-purchase experience. For 61.1% of marketing teams, email open rates are higher than 20%.

    Sixty-nine percent of consumers say they’ve stopped doing business with a brand following a bad experience, so the importance of customer service touchpoints shouldn’t be overlooked. Live chat, chatbots, self-service resources, and customer service teams are integral to the post-purchase experience.

    Attribution models : Assigning value to marketing touchpoints 

    Determining the most effective touchpoints — those that directly contribute to conversions — is a process known as marketing attribution. The goal here is to identify the specific channels and points of contact with prospective customers that result in revenue for the company.

    Illustration of the marketing funnel stages

    You can use these insights to understand — and maximise — marketing return on investment (ROI). Otherwise, you risk allocating your budget to the wrong channels. 

    It’s possible to group attribution models into two categories — single-touch and multi-touch — depending on whether you assign value to one or more contributing touchpoints.

    Single-touch attribution models, where you’re giving credit for the conversion to a single touchpoint, include the following :

    • First-touch attribution : This assigns credit for the conversion to the first interaction a customer had with a brand ; however, it fails to consider lower-funnel touchpoints.
    • Last-click attribution : This focuses only on bottom-of-funnel marketing and credits the last interaction the customer had with a brand before completing a purchase.
    • Last non-direct : Credits the touchpoint immediately preceding a direct touchpoint with all the credit.

    Multi-touch attribution models are more complex and distribute the credit for conversion across multiple relevant touchpoints throughout the customer journey :

    • Linear attribution : The simplest multi-touch attribution model assigns equal values to all contributing touchpoints.
    • Position-based or U-shaped attribution : This assigns the greatest value to the first and last touchpoint — with 40% of the conversion credit each — and then divides the remaining 20% across all the other touchpoints.
    • Time-decay attribution : This model assigns the most credit to the customer’s most recent interactions with a brand, assuming that the touchpoints that occur later in the journey have a bigger impact on the conversion.

    Consider the following when choosing the most appropriate attribution model for your business :

    • The length of your typical sales cycle
    • Your marketing goals : increasing awareness, lead generation, driving revenue, etc.
    • How many stages and touchpoints make up your sales funnel

    Sometimes, it even makes sense to measure marketing performance using more than one attribution model.

    With the sheer volume of data that’s constantly generated across numerous online touchpoints, from your website to social media channels, it’s practically impossible to collect and analyse it manually.

    You’ll need an advanced web analytics platform to identify key touchpoints and assign value to them.

    Matomo’s Marketing Attribution feature can accurately measure the performance of different touchpoints to ensure that you’re allocating resources to the right channels. This is done in a compliant manner, without the need of data sampling or requiring cookie consent screens (excluding in Germany and the UK), ensuring both accuracy and privacy compliance.

    Try Matomo for Free

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

    No credit card required

    Customer journey KPIs for measuring marketing campaign performance 

    Measuring the impact of different touchpoints on marketing campaign performance can help you understand how customer interactions drive conversions — and how to optimise your future efforts. 

    Illustration of customer journey concept

    Clearly, this is not a one-time effort. You should continuously reevaluate the crucial touchpoints that drive the most engagement at different stages of the customer journey. 

    Web analytics platforms can provide valuable insights into ever-changing consumer behaviours and trends and help you make informed decisions. 

    At the moment, Google is the most popular solution in the web analytics industry, with a combined market share of more than 70%

    However, if privacy, data accuracy, and GDPR compliance are a priority for you, Matomo is an alternative worth considering

    Try Matomo for Free

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

    No credit card required

    KPIs to track before a purchase 

    During the pre-purchase stage, focus on the KPIs that measure the effectiveness of marketing activities across various online touchpoints — landing pages, email campaigns, social channels and ad placement on SERPs, for instance. 

    KPIs to track during the consideration stage include the following : 

    • Cost-per-click (CPC) : The CPC, the total cost of paid online advertising divided by the number of clicks those ads get, indicates whether you’re getting a good ROI. In the UK, the average CPC for search advertising is $1.22. Globally, it averages $0.62.
    • Engagement rate : The engagement rate, which is the total number of interactions divided by the number of followers, is useful for measuring the performance of social media touchpoints. Customer engagement also applies to other channels, like tracking average time on-page, form conversions, bounce rates, and other website interactions. 
    • Click-through rate (CTR) : The CTR — or the number of clicks your ads receive compared to the number of times they’re shown — helps you measure the performance of CTAs, email newsletters and pay-per-click (PPC) advertising.

    KPIs to track during a purchase 

    As a potential customer moves further down the sales funnel and reaches the decision stage, where they’re ready to make the choice to purchase, you should be tracking the following : 

    • Conversion rate : This is the percentage of leads that convert into customers by completing the desired action relative to the total number of website visitors. It shows you whether you’re targeting the right people and providing a frictionless checkout experience.
    • Sales revenue : This refers to the quantity of products sold multiplied by the product’s price. It helps you track the company’s ability to generate profit. 
    • Cost per conversion : This KPI is the total cost of online advertising in relation to the number of conversions. It measures the effectiveness of different marketing channels and the costs of converting prospective customers into buyers. It also forecasts future ad spend.

    KPIs to track after purchase 

    At the post-purchase stage, your priority should be gathering feedback : 

    Customer feedback surveys are great for collecting insights into customers’ post-purchase experience, opinions about your brand, products and services, and needs and expectations. 

    In addition to measuring customer satisfaction, these insights can help you identify points of friction, forecast future growth and revenue and spot customers at risk of churning. 

    Focus on the following customer satisfaction and retention metrics : 

    • Customer Satisfaction Score (CSAT) : This metric, which is gathered through customer satisfaction surveys, helps you gauge satisfaction levels. After all, 77% of consumers consider great customer service an important driver of brand loyalty.
    • Net Promoter Score (NPS) : Based on single-question customer surveys, NPS indicates how likely a customer is to recommend your business.
    • Customer Lifetime Value (CLV) : The CLV is the profit you can expect to generate from one customer throughout their relationship with your company. 
    • Customer Health Score (CHS) : This score can assess how “healthy” the customer’s relationship with your brand is and identify at-risk customers.

    Marketing touchpoints : Tips and best practices 

    Customer experience is more important today than ever. 

    Illustration of marketing funnel optimisation

    Salesforce’s 2022 State of the Connected Consumer report indicated that, for 88% of customers, the experience the brand provides is just as important as the product itself. 

    Here’s how you can build your customer touchpoint strategy and use effective touchpoints to improve customer satisfaction, build a loyal customer base, deliver better digital experiences and drive growth : 

    Understand the customer’s end-to-end experience 

    The typical customer’s journey follows a non-linear path of individual experiences that shape their awareness and brand preference. 

    Seventy-three percent of customers expect brands to understand their needs. So, personalising each interaction and delivering targeted content at different touchpoint segments — supported by customer segmentation and tools like Matomo — should be a priority. 

    Try to put yourself in the prospective customer’s shoes and understand their motivation and needs, focusing on their end-to-end experience rather than individual interactions. 

    Create a customer journey map 

    Once you understand how prospective customers interact with your brand, it becomes easier to map their journey from the pre-purchase stage to the actual purchase and beyond. 

    By creating these visual “roadmaps,” you make sure that you’re delivering the right content on the right channels at the right times and to the right audience — the key to successful marketing.

    Identify best-performing digital touchpoints 

    You can use insights from marketing attribution to pinpoint areas that are performing well. 

    By analysing the data provided by Matomo’s Marketing Attribution feature, you can determine which digital touchpoints are driving the most conversions or engagement, allowing you to focus your resources on optimising these channels for even greater success. 

    This targeted approach helps maximise the effectiveness of your marketing efforts and ensures a higher return on investment.

    Try Matomo for Free

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

    No credit card required

    Discover key marketing touchpoints with Matomo 

    The customer’s journey rarely follows a direct route. If you hope to reach more customers and improve their experience, you’ll need to identify and manage individual marketing touchpoints every step of the way.

    While this process looks different for every business, it’s important to remember that your customers’ experience begins long before they interact with your brand for the first time — and carries on long after they complete the purchase. 

    In order to find these touchpoints and measure their effectiveness across multiple marketing channels, you’ll have to rely on accurate data — and a powerful web analytics tool like Matomo can provide those valuable marketing insights. 

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