Recherche avancée

Médias (1)

Mot : - Tags -/censure

Autres articles (7)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

Sur d’autres sites (4336)

  • What flags should enable to get maximum performance using ffpeg ?

    19 octobre 2017, par Sam

    I am using windows, my application is using opencv and for codecs, we have used ffmpeg. We see the performance is very slow, we want to improve it by compiling ffmpeg with all flags which could take hardware and GPU acceleation into consideration.
    I did ./configure --help inside the ffmpeg source, I see below list option, can you please tell which all can really imporve the performance. Note that we would like to take advantage of hardware and gpu capabilities.

    $ ./configure —help
    Usage : configure [options]
    Options : [defaults in brackets after descriptions]

    Help options :
    —help print this message
    —quiet Suppress showing informative output
    —list-decoders show all available decoders
    —list-encoders show all available encoders
    —list-hwaccels show all available hardware accelerators
    —list-demuxers show all available demuxers
    —list-muxers show all available muxers
    —list-parsers show all available parsers
    —list-protocols show all available protocols
    —list-bsfs show all available bitstream filters
    —list-indevs show all available input devices
    —list-outdevs show all available output devices
    —list-filters show all available filters

    Standard options :
    —logfile=FILE log tests and output to FILE [ffbuild/config.log]
    —disable-logging do not log configure debug information
    —fatal-warnings fail if any configure warning is generated
    —prefix=PREFIX install in PREFIX [/usr/local]
    —bindir=DIR install binaries in DIR [PREFIX/bin]
    —datadir=DIR install data files in DIR [PREFIX/share/ffmpeg]
    —docdir=DIR install documentation in DIR [PREFIX/share/doc/ffmpeg ]
    —libdir=DIR install libs in DIR [PREFIX/lib]
    —shlibdir=DIR install shared libs in DIR [LIBDIR]
    —incdir=DIR install includes in DIR [PREFIX/include]
    —mandir=DIR install man page in DIR [PREFIX/share/man]
    —pkgconfigdir=DIR install pkg-config files in DIR [LIBDIR/pkgconfig]
    —enable-rpath use rpath to allow installing libraries in paths
    not part of the dynamic linker search path
    use rpath when linking programs (USE WITH CARE)
    —install-name-dir=DIR Darwin directory name for installed targets

    Licensing options :
    —enable-gpl allow use of GPL code, the resulting libs
    and binaries will be under GPL [no]
    —enable-version3 upgrade (L)GPL to version 3 [no]
    —enable-nonfree allow use of nonfree code, the resulting libs
    and binaries will be unredistributable [no]

    Configuration options :
    —disable-static do not build static libraries [no]
    —enable-shared build shared libraries [no]
    —enable-small optimize for size instead of speed
    —disable-runtime-cpudetect disable detecting CPU capabilities at runtime (sma ller binary)
    —enable-gray enable full grayscale support (slower color)
    —disable-swscale-alpha disable alpha channel support in swscale
    —disable-all disable building components, libraries and programs
    —disable-autodetect disable automatically detected external libraries [no ]

    Program options :
    —disable-programs do not build command line programs
    —disable-ffmpeg disable ffmpeg build
    —disable-ffplay disable ffplay build
    —disable-ffprobe disable ffprobe build
    —disable-ffserver disable ffserver build

    Documentation options :
    —disable-doc do not build documentation
    —disable-htmlpages do not build HTML documentation pages
    —disable-manpages do not build man documentation pages
    —disable-podpages do not build POD documentation pages
    —disable-txtpages do not build text documentation pages

    Component options :
    —disable-avdevice disable libavdevice build
    —disable-avcodec disable libavcodec build
    —disable-avformat disable libavformat build
    —disable-swresample disable libswresample build
    —disable-swscale disable libswscale build
    —disable-postproc disable libpostproc build
    —disable-avfilter disable libavfilter build
    —enable-avresample enable libavresample build [no]
    —disable-pthreads disable pthreads [autodetect]
    —disable-w32threads disable Win32 threads [autodetect]
    —disable-os2threads disable OS/2 threads [autodetect]
    —disable-network disable network support [no]
    —disable-dct disable DCT code
    —disable-dwt disable DWT code
    —disable-error-resilience disable error resilience code
    —disable-lsp disable LSP code
    —disable-lzo disable LZO decoder code
    —disable-mdct disable MDCT code
    —disable-rdft disable RDFT code
    —disable-fft disable FFT code
    —disable-faan disable floating point AAN (I)DCT code
    —disable-pixelutils disable pixel utils in libavutil

    Individual component options :
    —disable-everything disable all components listed below
    —disable-encoder=NAME disable encoder NAME
    —enable-encoder=NAME enable encoder NAME
    —disable-encoders disable all encoders
    —disable-decoder=NAME disable decoder NAME
    —enable-decoder=NAME enable decoder NAME
    —disable-decoders disable all decoders
    —disable-hwaccel=NAME disable hwaccel NAME
    —enable-hwaccel=NAME enable hwaccel NAME
    —disable-hwaccels disable all hwaccels
    —disable-muxer=NAME disable muxer NAME
    —enable-muxer=NAME enable muxer NAME
    —disable-muxers disable all muxers
    —disable-demuxer=NAME disable demuxer NAME
    —enable-demuxer=NAME enable demuxer NAME
    —disable-demuxers disable all demuxers
    —enable-parser=NAME enable parser NAME
    —disable-parser=NAME disable parser NAME
    —disable-parsers disable all parsers
    —enable-bsf=NAME enable bitstream filter NAME
    —disable-bsf=NAME disable bitstream filter NAME
    —disable-bsfs disable all bitstream filters
    —enable-protocol=NAME enable protocol NAME
    —disable-protocol=NAME disable protocol NAME
    —disable-protocols disable all protocols
    —enable-indev=NAME enable input device NAME
    —disable-indev=NAME disable input device NAME
    —disable-indevs disable input devices
    —enable-outdev=NAME enable output device NAME
    —disable-outdev=NAME disable output device NAME
    —disable-outdevs disable output devices
    —disable-devices disable all devices
    —enable-filter=NAME enable filter NAME
    —disable-filter=NAME disable filter NAME
    —disable-filters disable all filters
    —disable-v4l2_m2m disable V4L2 mem2mem code [autodetect]

    External library support :

    Using any of the following switches will allow FFmpeg to link to the
    corresponding external library. All the components depending on that library
    will become enabled, if all their other dependencies are met and they are not
    explicitly disabled. E.g. —enable-libwavpack will enable linking to
    libwavpack and allow the libwavpack encoder to be built, unless it is
    specifically disabled with —disable-encoder=libwavpack.

    Note that only the system libraries are auto-detected. All the other external
    libraries must be explicitly enabled.

    Also note that the following help text describes the purpose of the libraries
    themselves, not all their features will necessarily be usable by FFmpeg.

    —disable-alsa disable ALSA support [autodetect]
    —disable-appkit disable Apple AppKit framework [autodetect]
    —disable-avfoundation disable Apple AVFoundation framework [autodetect]
    —enable-avisynth enable reading of AviSynth script files [no]
    —disable-bzlib disable bzlib [autodetect]
    —disable-coreimage disable Apple CoreImage framework [autodetect]
    —enable-chromaprint enable audio fingerprinting with chromaprint [no]
    —enable-frei0r enable frei0r video filtering [no]
    —enable-gcrypt enable gcrypt, needed for rtmp(t)e support
    if openssl, librtmp or gmp is not used [no]
    —enable-gmp enable gmp, needed for rtmp(t)e support
    if openssl or librtmp is not used [no]
    —enable-gnutls enable gnutls, needed for https support
    if openssl is not used [no]
    —disable-iconv disable iconv [autodetect]
    —disable-jack disable libjack support [autodetect]
    —enable-jni enable JNI support [no]
    —enable-ladspa enable LADSPA audio filtering [no]
    —enable-libass enable libass subtitles rendering,
    needed for subtitles and ass filter [no]
    —enable-libbluray enable BluRay reading using libbluray [no]
    —enable-libbs2b enable bs2b DSP library [no]
    —enable-libcaca enable textual display using libcaca [no]
    —enable-libcelt enable CELT decoding via libcelt [no]
    —enable-libcdio enable audio CD grabbing with libcdio [no]
    —enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
    and libraw1394 [no]
    —enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
    —enable-libflite enable flite (voice synthesis) support via libflite [ no]
    —enable-libfontconfig enable libfontconfig, useful for drawtext filter [no]
    —enable-libfreetype enable libfreetype, needed for drawtext filter [no]
    —enable-libfribidi enable libfribidi, improves drawtext filter [no]
    —enable-libgme enable Game Music Emu via libgme [no]
    —enable-libgsm enable GSM de/encoding via libgsm [no]
    —enable-libiec61883 enable iec61883 via libiec61883 [no]
    —enable-libilbc enable iLBC de/encoding via libilbc [no]
    —enable-libkvazaar enable HEVC encoding via libkvazaar [no]
    —enable-libmodplug enable ModPlug via libmodplug [no]
    —enable-libmp3lame enable MP3 encoding via libmp3lame [no]
    —enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no ]
    —enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
    —enable-libopencv enable video filtering via libopencv [no]
    —enable-libopenh264 enable H.264 encoding via OpenH264 [no]
    —enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no]
    —enable-libopenmpt enable decoding tracked files via libopenmpt [no]
    —enable-libopus enable Opus de/encoding via libopus [no]
    —enable-libpulse enable Pulseaudio input via libpulse [no]
    —enable-librsvg enable SVG rasterization via librsvg [no]
    —enable-librubberband enable rubberband needed for rubberband filter [no]
    —enable-librtmp enable RTMP[E] support via librtmp [no]
    —enable-libshine enable fixed-point MP3 encoding via libshine [no]
    —enable-libsmbclient enable Samba protocol via libsmbclient [no]
    —enable-libsnappy enable Snappy compression, needed for hap encoding [n o]
    —enable-libsoxr enable Include libsoxr resampling [no]
    —enable-libspeex enable Speex de/encoding via libspeex [no]
    —enable-libssh enable SFTP protocol via libssh [no]
    —enable-libtesseract enable Tesseract, needed for ocr filter [no]
    —enable-libtheora enable Theora encoding via libtheora [no]
    —enable-libtwolame enable MP2 encoding via libtwolame [no]
    —enable-libv4l2 enable libv4l2/v4l-utils [no]
    —enable-libvidstab enable video stabilization using vid.stab [no]
    —enable-libvmaf enable vmaf filter via libvmaf [no]
    —enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
    —enable-libvorbis enable Vorbis en/decoding via libvorbis,
    native implementation exists [no]
    —enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no]
    —enable-libwavpack enable wavpack encoding via libwavpack [no]
    —enable-libwebp enable WebP encoding via libwebp [no]
    —enable-libx264 enable H.264 encoding via x264 [no]
    —enable-libx265 enable HEVC encoding via x265 [no]
    —enable-libxavs enable AVS encoding via xavs [no]
    —enable-libxcb enable X11 grabbing using XCB [autodetect]
    —enable-libxcb-shm enable X11 grabbing shm communication [autodetect]
    —enable-libxcb-xfixes enable X11 grabbing mouse rendering [autodetect]
    —enable-libxcb-shape enable X11 grabbing shape rendering [autodetect]
    —enable-libxvid enable Xvid encoding via xvidcore,
    native MPEG-4/Xvid encoder exists [no]
    —enable-libxml2 enable XML parsing using the C library libxml2 [no]
    —enable-libzimg enable z.lib, needed for zscale filter [no]
    —enable-libzmq enable message passing via libzmq [no]
    —enable-libzvbi enable teletext support via libzvbi [no]
    —disable-lzma disable lzma [autodetect]
    —enable-decklink enable Blackmagic DeckLink I/O support [no]
    —enable-libndi_newtek enable Newteck NDI I/O support [no]
    —enable-mediacodec enable Android MediaCodec support [no]
    —enable-libmysofa enable libmysofa, needed for sofalizer filter [no]
    —enable-openal enable OpenAL 1.1 capture support [no]
    —enable-opencl enable OpenCL code
    —enable-opengl enable OpenGL rendering [no]
    —enable-openssl enable openssl, needed for https support
    if gnutls is not used [no]
    —disable-sndio disable sndio support [autodetect]
    —disable-schannel disable SChannel SSP, needed for TLS support on
    Windows if openssl and gnutls are not used [autodetec t]
    —disable-sdl2 disable sdl2 [autodetect]
    —disable-securetransport disable Secure Transport, needed for TLS support
    on OSX if openssl and gnutls are not used [autodetect ]
    —disable-xlib disable xlib [autodetect]
    —disable-zlib disable zlib [autodetect]

    The following libraries provide various hardware acceleration features :
    —disable-audiotoolbox disable Apple AudioToolbox code [autodetect]
    —disable-cuda disable dynamically linked Nvidia CUDA code [autodete ct]
    —enable-cuda-sdk enable CUDA features that require the CUDA SDK [no]
    —disable-cuvid disable Nvidia CUVID support [autodetect]
    —disable-d3d11va disable Microsoft Direct3D 11 video acceleration code [autodetect]
    —disable-dxva2 disable Microsoft DirectX 9 video acceleration code [ autodetect]
    —enable-libdrm enable DRM code (Linux) [no]
    —enable-libmfx enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no]
    —enable-libnpp enable Nvidia Performance Primitives-based code [no]
    —enable-mmal enable Broadcom Multi-Media Abstraction Layer (Raspbe rry Pi) via MMAL [no]
    —disable-nvenc disable Nvidia video encoding code [autodetect]
    —enable-omx enable OpenMAX IL code [no]
    —enable-omx-rpi enable OpenMAX IL code for Raspberry Pi [no]
    —enable-rkmpp enable Rockchip Media Process Platform code [no]
    —disable-vaapi disable Video Acceleration API (mainly Unix/Intel) co de [autodetect]
    —disable-vda disable Apple Video Decode Acceleration code [autodet ect]
    —disable-vdpau disable Nvidia Video Decode and Presentation API for Unix code [autodetect]
    —disable-videotoolbox disable VideoToolbox code [autodetect]

    Toolchain options :
    —arch=ARCH select architecture []
    —cpu=CPU select the minimum required CPU (affects
    instruction selection, may crash on older CPUs)
    —cross-prefix=PREFIX use PREFIX for compilation tools []
    —progs-suffix=SUFFIX program name suffix []
    —enable-cross-compile assume a cross-compiler is used
    —sysroot=PATH root of cross-build tree
    —sysinclude=PATH location of cross-build system headers
    —target-os=OS compiler targets OS []
    —target-exec=CMD command to run executables on target
    —target-path=DIR path to view of build directory on target
    —target-samples=DIR path to samples directory on target
    —tempprefix=PATH force fixed dir/prefix instead of mktemp for checks
    —toolchain=NAME set tool defaults according to NAME
    —nm=NM use nm tool NM [nm -g]
    —ar=AR use archive tool AR [ar]
    —as=AS use assembler AS []
    —ln_s=LN_S use symbolic link tool LN_S [ln -s -f]
    —strip=STRIP use strip tool STRIP [strip]
    —windres=WINDRES use windows resource compiler WINDRES [windres]
    —x86asmexe=EXE use nasm-compatible assembler EXE [nasm]
    —cc=CC use C compiler CC [gcc]
    —cxx=CXX use C compiler CXX [g++]
    —objcc=OCC use ObjC compiler OCC [gcc]
    —dep-cc=DEPCC use dependency generator DEPCC [gcc]
    —nvcc=NVCC use Nvidia CUDA compiler NVCC [nvcc]
    —ld=LD use linker LD []
    —pkg-config=PKGCONFIG use pkg-config tool PKGCONFIG [pkg-config]
    —pkg-config-flags=FLAGS pass additional flags to pkgconf []
    —ranlib=RANLIB use ranlib RANLIB [ranlib]
    —doxygen=DOXYGEN use DOXYGEN to generate API doc [doxygen]
    —host-cc=HOSTCC use host C compiler HOSTCC
    —host-cflags=HCFLAGS use HCFLAGS when compiling for host
    —host-cppflags=HCPPFLAGS use HCPPFLAGS when compiling for host
    —host-ld=HOSTLD use host linker HOSTLD
    —host-ldflags=HLDFLAGS use HLDFLAGS when linking for host
    —host-libs=HLIBS use libs HLIBS when linking for host
    —host-os=OS compiler host OS []
    —extra-cflags=ECFLAGS add ECFLAGS to CFLAGS []
    —extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS []
    —extra-objcflags=FLAGS add FLAGS to OBJCFLAGS []
    —extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []
    —extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS []
    —extra-ldlibflags=ELDFLAGS add ELDFLAGS to LDLIBFLAGS []
    —extra-libs=ELIBS add ELIBS []
    —extra-version=STRING version string suffix []
    —optflags=OPTFLAGS override optimization-related compiler flags
    —nvccflags=NVCCFLAGS override nvcc flags [-gencode arch=compute_30,code=sm _30 -O2]
    —build-suffix=SUFFIX library name suffix []
    —enable-pic build position-independent code
    —enable-thumb compile for Thumb instruction set
    —enable-lto use link-time optimization
    —env="ENV=override" override the environment variables

    Advanced options (experts only) :
    —malloc-prefix=PREFIX prefix malloc and related names with PREFIX
    —custom-allocator=NAME use a supported custom allocator
    —disable-symver disable symbol versioning
    —enable-hardcoded-tables use hardcoded tables instead of runtime generation
    —disable-safe-bitstream-reader
    disable buffer boundary checking in bitreaders
    (faster, but may crash)
    —sws-max-filter-size=N the max filter size swscale uses [256]

    Optimization options (experts only) :
    —disable-asm disable all assembly optimizations
    —disable-altivec disable AltiVec optimizations
    —disable-vsx disable VSX optimizations
    —disable-power8 disable POWER8 optimizations
    —disable-amd3dnow disable 3DNow ! optimizations
    —disable-amd3dnowext disable 3DNow ! extended optimizations
    —disable-mmx disable MMX optimizations
    —disable-mmxext disable MMXEXT optimizations
    —disable-sse disable SSE optimizations
    —disable-sse2 disable SSE2 optimizations
    —disable-sse3 disable SSE3 optimizations
    —disable-ssse3 disable SSSE3 optimizations
    —disable-sse4 disable SSE4 optimizations
    —disable-sse42 disable SSE4.2 optimizations
    —disable-avx disable AVX optimizations
    —disable-xop disable XOP optimizations
    —disable-fma3 disable FMA3 optimizations
    —disable-fma4 disable FMA4 optimizations
    —disable-avx2 disable AVX2 optimizations
    —disable-aesni disable AESNI optimizations
    —disable-armv5te disable armv5te optimizations
    —disable-armv6 disable armv6 optimizations
    —disable-armv6t2 disable armv6t2 optimizations
    —disable-vfp disable VFP optimizations
    —disable-neon disable NEON optimizations
    —disable-inline-asm disable use of inline assembly
    —disable-x86asm disable use of standalone x86 assembly
    —disable-mipsdsp disable MIPS DSP ASE R1 optimizations
    —disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations
    —disable-msa disable MSA optimizations
    —disable-mipsfpu disable floating point MIPS optimizations
    —disable-mmi disable Loongson SIMD optimizations
    —disable-fast-unaligned consider unaligned accesses slow

    Developer options (useful when working on FFmpeg itself) :
    —disable-debug disable debugging symbols
    —enable-debug=LEVEL set the debug level []
    —disable-optimizations disable compiler optimizations
    —enable-extra-warnings enable more compiler warnings
    —disable-stripping disable stripping of executables and shared libraries
    —assert-level=level 0(default), 1 or 2, amount of assertion testing,
    2 causes a slowdown at runtime.
    —enable-memory-poisoning fill heap uninitialized allocated space with arbitra ry data
    —valgrind=VALGRIND run "make fate" tests through valgrind to detect memo ry
    leaks and errors, using the specified valgrind binary .
    Cannot be combined with —target-exec
    —enable-ftrapv Trap arithmetic overflows
    —samples=PATH location of test samples for FATE, if not set use
    $FATE_SAMPLES at make invocation time.
    —enable-neon-clobber-test check NEON registers for clobbering (should be
    used only for debugging purposes)
    —enable-xmm-clobber-test check XMM registers for clobbering (Win64-only ;
    should be used only for debugging purposes)
    —enable-random randomly enable/disable components
    —disable-random
    —enable-random=LIST randomly enable/disable specific components or
    —disable-random=LIST component groups. LIST is a comma-separated list
    of NAME[:PROB] entries where NAME is a component
    (group) and PROB the probability associated with
    NAME (default 0.5).
    —random-seed=VALUE seed value for —enable/disable-random
    —disable-valgrind-backtrace do not print a backtrace under Valgrind
    (only applies to —disable-optimizations builds)
    —enable-osfuzz Enable building fuzzer tool
    —libfuzzer=PATH path to libfuzzer
    —ignore-tests=TESTS comma-separated list (without "fate-" prefix
    in the name) of tests whose result is ignored
    —enable-linux-perf enable Linux Performance Monitor API

    NOTE : Object files are built at the place where configure is launched.

  • B2B Customer Journey Map : A Quickfire Guide for Growth

    20 mai 2024, par Erin

    What is a company’s biggest asset ?

    Its product ? Its employees ? Its unique selling proposition ?

    More and more people are recognising it’s something else entirely : your customers.

    Without your customers, your business can’t exist.

    Nearly 77% of B2B buyers found the buying process too complicated.

    With more competition than ever, it’s crucial you provide the best possible experience for them.

    That’s where your customer journey comes in.

    If you’re in the B2B space, you need to know how to map out the journey.

    By building a B2B customer journey map, you’ll be able to analyse the weak spots in the customer journey so you can improve the experience (and generate more revenue).

    In this article, we break down the B2B customer journey stages, how to build a customer journey map and how Matomo can help you track your customer journey automatically.

    What is a B2B customer journey ?

    Every customer goes through a specific path within your business.

    At some point in time, they found out about you and eventually bought your products.

    What is a B2B customer journey?

    A B2B customer journey is the collection of touchpoints your customer has with your business from start to finish.

    From discovery to purchase (and more), your customers go through a specific set of touches you can track. By analysing this journey, you can get a snapshot of your user experience.

    One way to track the customer journey is with a B2B customer journey map.

    It helps you to quickly see the different steps your customers take in their path with your business.

    With it, you can quickly identify weak spots and successes to improve the customer journey.

    5 stages of the B2B customer journey

    Every one of your customers is unique. Their specific needs and their journey.

    It’s all different.

    But, there are crucial steps they take through their journey as your customer.

    It’s the same path your entire customer base takes.

    Here are the five stages of the B2B customer journey (and why you should track them) :

    5 stages of the B2B customer journey.

    1. Awareness

    Awareness is the first stage that every B2B buyer goes through when they start their journey in B2B companies as a customer.

    At this stage, your target buyer understands they have a problem they need solving. They’re out, actively trying to solve this problem. 

    This is where you can stand out from the competition and give them a good first impression.

    Some helpful content you could create to do this is :

    • Blog posts
    • Social media posts
    • Ebooks
    • Whitepapers

    2. Consideration

    Next up, your buyer persona has an awareness of your company. But, now they’ve started narrowing down their options for potential businesses they’re interested in.

    They’ve selected yours as a potential business to hand their hard-earned cash over to, but they’re still making up their mind.

    At this point, you need to do what you can to clear up any objections and doubts in their mind and make them trust you.

    Some helpful content you could create here include :

    • Product demos by your sales team
    • Webinars
    • Case studies

    3. Conversion

    Next up, your target buyer has compared all their options and decided on you as the chosen product/company.

    This is where the purchase decision is made — when the B2B buyer actually signs or clicks “buy.”

    Here, you’ll want to provide more :

    • Case studies
    • Live demos
    • Customer service
    • Customer reviews/testimonials

    4. Loyalty

    Your B2B buyer is now a customer. But, not all customers return. The majority will slip away after the first purchase. If you want them to return, you need to fuel the relationship and nurture them even more.

    You’ll want to shift your efforts to nurturing the relationship with a post-purchase strategy where you build on that trust, seek customer feedback to prove high customer satisfaction and reward their loyalty.

    Some content you may want to create here includes :

    • Thank you emails
    • Follow-up emails
    • Follow-up calls
    • Product how-tos
    • Reward program
    • Surveys

    5. Advocacy

    The final stage of the B2B customer journey map is advocacy.

    This is the stage beyond loyalty where your customers aren’t just coming back for more ; they’re actively telling others about you.

    This is the cream of the crop when it comes to the B2B buyer stages, and it happens when you exceed customer expectations repeatedly.

    Your goal should be to eventually get all of your customers to this stage. Because then, they’re doing free marketing for you.

    This is only possible when a customer receives enough positive B2B customer experiences with your company where the value they’ve received far exceeds what they perceived they have given.

    Here are a few pieces of content you can create to fuel advocacy :

    • Surveys
    • Testimonial requests
    • Referral program

    Difference between B2C and B2B customer journeys

    Every person on earth who buys something enters the customer journey.

    But, not all customer journeys are created equal.

    This is especially true when you compare the B2C and B2B customer journeys.

    While there are similarities, the business-to-consumer (B2C) journey has clear differences compared to the business-to-business (B2B) journey.

    B2C vs. B2B customer journey.

    The most obvious difference between the two journeys is that B2B customer journeys are far more complex. 

    Not only are these two companies selling to different audiences, but they also have to deploy a completely different set of strategies to lead their customers down the path as far as they can go.

    While the journey structures are similar (from awareness to advocacy), there are differing motivating behaviours.

    Here’s a table showing the difference between B2C and B2B in the customer journey :

    Different FactorsB2BB2C
    Target audienceSmaller, industry more importantLarger, general consumer
    BuyerMultiple decision-makersOne decision-maker
    Buying decisionBased on needs of the organisation with multiple stakeholdersBased on an individual’s pain points
    Buying processMultiple stepsSingle step
    Customer retentionOrganisational needs and ROI-basedIndividual emotional factors
    Repeat sales driverDeep relationshipRepetition, attention-based

    Step-by-step guide to building a B2B customer journey map

    Now that you’ve got a basic understanding of the typical B2B customer journey, it’s time to build out your map so you can create a visual representation of the journey.

    Step-by-step guide to building a customer journey map.

    Here are six steps you need to take to craft an effective B2B customer journey map in your business :

    1. Identify your target audience (and different segments)

    The first step in customer journey mapping is to look at your target audience.

    You need to understand who they are and what different segments make up your audience.

    You need to look at the different roles each person plays within the journey.

    Unlike B2C, you’re not usually dealing with a single person. You likely have a few decision-makers you need to interact with to close a deal.

    The average B2B deal involves 6 to 10 people.

    Analyse the different roles and responsibilities of your audience.

    Figure out what requirements they need to onboard you. Understand each person’s level of influence in the buying decision.

    2. Determine your customers’ goals

    Now that you have a clear understanding of each person involved in the buying process, it’s time to analyse their unique needs and goals.

    Unlike B2C, which will include a single person with a single set of needs and goals, you have to look at several people through the decision-making process.

    What is every decision-maker’s goal ?

    An entry-level admin will have much different goals than a CEO.

    Understand each of their needs as it will be key to selling them and taking you to the next person in the chain of command.

    3. Lean on data and analytics

    Now it’s time to analyse your data.

    You don’t want to guess what will work on your B2B buyers. Instead, leverage data that proves what’s working (and what’s not).

    Analytics software like Matomo are crucial tools in your B2B customer journey toolkit.

    Matomo can help you make data-driven decisions to fuel customer acquisition and loyalty to help get more customers all the way to the advocacy stage.

    Using Matomo (which analyses and interprets different data sources) can give you a holistic view of what’s going on at each stage of the journey so you can reach your goals.

    Try Matomo for Free

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

    No credit card required

    4. Draw out customer journey stages

    Now that you have your data-backed plan, it’s time for some customer journey mapping.

    You can do this on paper or use a diagram tool to create a visual B2B customer journey map.

    Here, you’ll draw out every single stage in your customer journey, including every single touchpoint from different decision-makers.

    5. Determine each customer touchpoint

    Once you’ve drawn up the customer journey stages, you’ll have a key list of B2B customer journey touchpoints to implement.

    Write down every single customer interaction possible on the journey through.

    This could be reading an email, a blog post or watching a video on your home page.

    It could be an advertisement, a phone call or a follow-up email.

    It could even be a live demo or video sales call (meeting).

    6. Identify your own goals

    Now that you’ve got your visual B2B customer journey mapping done, it’s time to go back to you and your company.

    What are your goals ?

    What are the end results you’re looking for here ?

    You’ve got your current map in place. Now, how would you like customers to go through this journey ?

    Where would you like them to end up ?

    Look back at your company’s primary objectives if you’re stuck here.

    If your company is looking to increase profit margins, then maybe you want to focus more on retention, so you’re spending less on acquisition (and leaning more on recurring revenue from existing customers).

    How to create a Matomo funnel to track your B2B customer journey

    If you want to start tracking and optimising your B2B customer journey, you need to have a good grasp on your funnel.

    The reality is that your customer journey is your funnel.

    They’re one and the same.

    Your customer journeys through your sales funnel.

    So, if you want to optimise it, then you need to see what’s going on at each stage of your funnel.

    Screenshot example of the Matomo dashboard

    With Matomo, you can map out your entire funnel and track key events like conversions.

    This allows you to identify where your site visitors are having problems, where they’re exiting and other obstacles they’re facing on their journey through.

    To start, you first define what events or touchpoints you want included. This could mean :

    • Landing on your website
    • Visiting a product page
    • Adding something to cart
    • Going to checkout
    • Clicking “buy”

    Then, at each stage, you’ll see conversion rates.

    For example, if only 3% of your visitors go from landing on your website to the product page, you likely have an issue between your homepage (and other pages) and your product pages.

    Or, if you can get people to add to cart, but you rarely get people going to checkout, there’s likely a problem to fix on your add-to-cart page.

    By leveraging Matomo’s funnels feature, you get to see your entire customer journey (and where people are falling off) so you understand what you need to optimise to grow your business.

    If you’re ready to start building and optimising your customer journey today, then try Matomo for free for 21 days.

  • How to Choose the Optimal Multi-Touch Attribution Model for Your Organisation

    13 mars 2023, par Erin — Analytics Tips

    If you struggle to connect the dots on your customer journeys, you are researching the correct solution. 

    Multi-channel attribution models allow you to better understand the users’ paths to conversion and identify key channels and marketing assets that assist them.

    That said, each attribution model has inherent limitations, which make the selection process even harder.

    This guide explains how to choose the optimal multi-touch attribution model. We cover the pros and cons of popular attribution models, main evaluation criteria and how-to instructions for model implementation. 

    Pros and Cons of Different Attribution Models 

    Types of Attribution Models

    First Interaction 

    First Interaction attribution model (also known as first touch) assigns full credit to the conversion to the first channel, which brought in a lead. However, it doesn’t report other interactions the visitor had before converting.

    Marketers, who are primarily focused on demand generation and user acquisition, find the first touch attribution model useful to evaluate and optimise top-of-the-funnel (ToFU). 

    Pros 

    • Reflects the start of the customer journey
    • Shows channels that bring in the best-qualified leads 
    • Helps track brand awareness campaigns

    Cons 

    • Ignores the impact of later interactions at the middle and bottom of the funnel 
    • Doesn’t provide a full picture of users’ decision-making process 

    Last Interaction 

    Last Interaction attribution model (also known as last touch) shifts the entire credit allocation to the last channel before conversion. But it doesn’t account for the contribution of all other channels. 

    If your focus is conversion optimization, the last-touch model helps you determine which channels, assets or campaigns seal the deal for the prospect. 

    Pros 

    • Reports bottom-of-the-funnel events
    • Requires minimal data and configurations 
    • Helps estimate cost-per-lead or cost-per-acquisition

    Cons 

    • No visibility into assisted conversions and prior visitor interactions 
    • Overemphasise the importance of the last channel (which can often be direct traffic) 

    Last Non-Direct Interaction 

    Last Non-Direct attribution excludes direct traffic from the calculation and assigns the full conversion credit to the preceding channel. For example, a paid ad will receive 100% of credit for conversion if a visitor goes directly to your website to buy a product. 

    Last Non-Direct attribution provides greater clarity into the bottom-of-the-funnel (BoFU). events. Yet, it still under-reports the role other channels played in conversion. 

    Pros 

    • Improved channel visibility, compared to Last-Touch 
    • Avoids over-valuing direct visits
    • Reports on lead-generation efforts

    Cons 

    • Doesn’t work for account-based marketing (ABM) 
    • Devalues the quality over quantity of leads 

    Linear Model

    Linear attribution model assigns equal credit for a conversion to all tracked touchpoints, regardless of their impact on the visitor’s decision to convert.

    It helps you understand the full conversion path. But this model doesn’t distinguish between the importance of lead generation activities versus nurturing touches.

    Pros 

    • Focuses on all touch points associated with a conversion 
    • Reflects more steps in the customer journey 
    • Helps analyse longer sales cycles

    Cons 

    • Doesn’t accurately reflect the varying roles of each touchpoint 
    • Can dilute the credit if too many touchpoints are involved 

    Time Decay Model 

    Time decay models assumes that the closer a touchpoint is to the conversion, the greater its influence. Pre-conversion touchpoints get the highest credit, while the first ones are ranked lower (5%-5%-10%-15%-25%-30%).

    This model better reflects real-life customer journeys. However, it devalues the impact of brand awareness and demand-generation campaigns. 

    Pros 

    • Helps track longer sales cycles and reports on each touchpoint involved 
    • Allows customising the half-life of decay to improve reporting 
    • Promotes conversion optimization at BoFu stages

    Cons 

    • Can prompt marketers to curtail ToFU spending, which would translate to fewer qualified leads at lower stages
    • Doesn’t reflect highly-influential events at earlier stages (e.g., a product demo request or free account registration, which didn’t immediately lead to conversion)

    Position-Based Model 

    Position-Based attribution model (also known as the U-shaped model) allocates the biggest credit to the first and the last interaction (40% each). Then distributes the remaining 20% across other touches. 

    For many marketers, that’s the preferred multi-touch attribution model as it allows optimising both ToFU and BoFU channels. 

    Pros 

    • Helps establish the main channels for lead generation and conversion
    • Adds extra layers of visibility, compared to first- and last-touch attribution models 
    • Promotes budget allocation toward the most strategic touchpoints

    Cons 

    • Diminishes the importance of lead nurturing activities as more credit gets assigned to demand-gen and conversion-generation channels
    • Limited flexibility since it always assigns a fixed amount of credit to the first and last touchpoints, and the remaining credit is divided evenly among the other touchpoints

    How to Choose the Right Multi-Touch Attribution Model For Your Business 

    If you’re deciding which attribution model is best for your business, prepare for a heated discussion. Each one has its trade-offs as it emphasises or devalues the role of different channels and marketing activities.

    To reach a consensus, the best strategy is to evaluate each model against three criteria : Your marketing objectives, sales cycle length and data availability. 

    Marketing Objectives 

    Businesses generate revenue in many ways : Through direct sales, subscriptions, referral fees, licensing agreements, one-off or retainer services. Or any combination of these activities. 

    In each case, your marketing strategy will look different. For example, SaaS and direct-to-consumer (DTC) eCommerce brands have to maximise both demand generation and conversion rates. In contrast, a B2B cybersecurity consulting firm is more interested in attracting qualified leads (as opposed to any type of traffic) and progressively nurturing them towards a big-ticket purchase. 

    When selecting a multi-touch attribution model, prioritise your objectives first. Create a simple scoreboard, where your team ranks various channels and campaign types you rely on to close sales. 

    Alternatively, you can survey your customers to learn how they first heard about your company and what eventually triggered their conversion. Having data from both sides can help you cross-validate your assumptions and eliminate some biases. 

    Then consider which model would best reflect the role and importance of different channels in your sales cycle. Speaking of which….

    Sales Cycle Length 

    As shoppers, we spend less time deciding on a new toothpaste brand versus contemplating a new IT system purchase. Factors like industry, business model (B2C, DTC, B2B, B2BC), and deal size determine the average cycle length in your industry. 

    Statistically, low-ticket B2C sales can happen within just several interactions. The average B2B decision-making process can have over 15 steps, spread over several months. 

    That’s why not all multi-touch attribution models work equally well for each business. Time-decay suits better B2B companies, while B2C usually go for position-based or linear attribution. 

    Data Availability 

    Businesses struggle with multi-touch attribution model implementation due to incomplete analytics data. 

    Our web analytics tool captures more data than Google Analytics. That’s because we rely on a privacy-focused tracking mechanism, which allows you to collect analytics without showing a cookie consent banner in markets outside of Germany and the UK. 

    Cookie consent banners are mandatory with Google Analytics. Yet, almost 40% of global consumers reject it. This results in gaps in your analytics and subsequent inconsistencies in multi-touch attribution reports. With Matomo, you can compliantly collect more data for accurate reporting. 

    Some companies also struggle to connect collected insights to individual shoppers. With Matomo, you can cross-attribute users across browning sessions, using our visitors’ tracking feature

    When you already know a user’s identifier (e.g., full name or email address), you can track their on-site behaviours over time to better understand how they interact with your content and complete their purchases. Quick disclaimer, though, visitors’ tracking may not be considered compliant with certain data privacy laws. Please consult with a local authority if you have doubts. 

    How to Implement Multi-Touch Attribution

    Multi-touch attribution modelling implementation is like a “seek and find” game. You have to identify all significant touchpoints in your customers’ journeys. And sometimes also brainstorm new ways to uncover the missing parts. Then figure out the best way to track users’ actions at those stages (aka do conversion and events tracking). 

    Here’s a step-by-step walkthrough to help you get started. 

    Select a Multi-Touch Attribution Tool 

    The global marketing attribution software is worth $3.1 billion. Meaning there are plenty of tools, differing in terms of accuracy, sophistication and price.

    To make the right call prioritise five factors :

    • Available models : Look for a solution that offers multiple options and allows you to experiment with different modelling techniques or develop custom models. 
    • Implementation complexity : Some providers offer advanced data modelling tools for creating custom multi-touch attribution models, but offer few out-of-the-box modelling options. 
    • Accuracy : Check if the shortlisted tool collects the type of data you need. Prioritise providers who are less dependent on third-party cookies and allow you to identify repeat users. 
    • Your marketing stack : Some marketing attribution tools come with useful add-ons such as tag manager, heatmaps, form analytics, user session recordings and A/B testing tools. This means you can collect more data for multi-channel modelling with them instead of investing in extra software. 
    • Compliance : Ensure that the selected multi-attribution analytics software wouldn’t put you at risk of GDPR non-compliance when it comes to user privacy and consent to tracking/analysis. 

    Finally, evaluate the adoption costs. Free multi-channel analytics tools come with data quality and consistency trade-offs. Premium attribution tools may have “hidden” licensing costs and bill you for extra data integrations. 

    Look for a tool that offers a good price-to-value ratio (i.e., one that offers extra perks for a transparent price). 

    Set Up Proper Data Collection 

    Multi-touch attribution requires ample user data. To collect the right type of insights you need to set up : 

    • Website analytics : Ensure that you have all tracking codes installed (and working correctly !) to capture pageviews, on-site actions, referral sources and other data points around what users do on page. 
    • Tags : Add tracking parameters to monitor different referral channels (e.g., “facebook”), campaign types (e.g., ”final-sale”), and creative assets (e.g., “banner-1”). Tags help you get a clearer picture of different touchpoints. 
    • Integrations : To better identify on-site users and track their actions, you can also populate your attribution tool with data from your other tools – CRM system, A/B testing app, etc. 

    Finally, think about the ideal lookback window — a bounded time frame you’ll use to calculate conversions. For example, Matomo has a default windows of 7, 30 or 90 days. But you can configure a custom period to better reflect your average sales cycle. For instance, if you’re selling makeup, a shorter window could yield better results. But if you’re selling CRM software for the manufacturing industry, consider extending it.

    Configure Goals and Events 

    Goals indicate your main marketing objectives — more traffic, conversions and sales. In web analytics tools, you can measure these by tracking specific user behaviours. 

    For example : If your goal is lead generation, you can track :

    • Newsletter sign ups 
    • Product demo requests 
    • Gated content downloads 
    • Free trial account registration 
    • Contact form submission 
    • On-site call bookings 

    In each case, you can set up a unique tag to monitor these types of requests. Then analyse conversion rates — the percentage of users who have successfully completed the action. 

    To collect sufficient data for multi-channel attribution modelling, set up Goal Tracking for different types of touchpoints (MoFU & BoFU) and asset types (contact forms, downloadable assets, etc). 

    Your next task is to figure out how users interact with different on-site assets. That’s when Event Tracking comes in handy. 

    Event Tracking reports notify you about specific actions users take on your website. With Matomo Event Tracking, you can monitor where people click on your website, on which pages they click newsletter subscription links, or when they try to interact with static content elements (e.g., a non-clickable banner). 

    Using in-depth user behavioural reports, you can better understand which assets play a key role in the average customer journey. Using this data, you can localise “leaks” in your sales funnel and fix them to increase conversion rates.

    Test and Validated the Selected Model 

    A common challenge of multi-channel attribution modelling is determining the correct correlation and causality between exposure to touchpoints and purchases. 

    For example, a user who bought a discounted product from a Facebook ad would act differently than someone who purchased a full-priced product via a newsletter link. Their rate of pre- and post-sales exposure will also differ a lot — and your attribution model may not always accurately capture that. 

    That’s why you have to continuously test and tweak the selected model type. The best approach for that is lift analysis. 

    Lift analysis means comparing how your key metrics (e.g., revenue or conversion rates) change among users who were exposed to a certain campaign versus a control group. 

    In the case of multi-touch attribution modelling, you have to monitor how your metrics change after you’ve acted on the model recommendations (e.g., invested more in a well-performing referral channel or tried a new brand awareness Twitter ad). Compare the before and after ROI. If you see a positive dynamic, your model works great. 

    The downside of this approach is that you have to invest a lot upfront. But if your goal is to create a trustworthy attribution model, the best way to validate is to act on its suggestions and then test them against past results. 

    Conclusion

    A multi-touch attribution model helps you measure the impact of different channels, campaign types, and marketing assets on metrics that matter — conversion rate, sales volumes and ROI. 

    Using this data, you can invest budgets into the best-performing channels and confidently experiment with new campaign types. 

    As a Matomo user, you also get to do so without breaching customers’ privacy or compromising on analytics accuracy.

    Start using accurate multi-channel attribution in Matomo. Get your free 21-day trial now. No credit card required.