Do you build things with AMP? Fill out the AMP Developer Survey!
AMP

AMP 프로젝트 로드맵

The ongoing development of AMP is conducted in working groups, each with knowledge or interest in a specific area of AMP.

To make their work visible to the community all groups provide regular status updates with details of what they have accomplished and what's up next.

All of the updates listed here are available as issues on GitHub and we'd love you to join the conversation there!

Select working groups

Analytics

Status Update Sun Sep 27 2020

What was accomplished

  • Inabox ad visibility tracking: Listen to window resize event
  • Enable CMP iframe to run in the background for 1 second so they can send out update after user action
  • Easy configuration to always serve non personalized ad
  • Backup CLIENT_ID in localStorage
  • Debugging: Analytics not loading when user scroll to the bottom fast
All details on GitHub

What's coming next

  • Analytics service listen to img's onload event (part of the effort of <amp-img> deprecation)
  • Discussion: Element level granularity consent decision support
  • Discussion: Pass TCF 2.0 consent string via postMessages to iframes
All details on GitHub

Analytics

Status Update Mon Sep 14 2020

What was accomplished

  • Support Consent meta data collection via macros
  • Check element size in additional to intersectRatio when report visibility
  • Design: Backup CLIENT_ID in localStorage
  • Debug: Incorrect visibility trigger due to fluid inabox ad resizing in viewport
  • Debug: Video-played-percentage trigger issue with stories team
All details on GitHub

What's coming next

  • Introduce an easy way to bypass user consent decision and always serve non personalized ad
  • Granular Consent Support Design
  • Running 3p service provider script in web worker (I2I)
All details on GitHub

Analytics

Status Update Mon Aug 31 2020

What was accomplished

  • Support Begin-to-Render signal in a4a ads
  • Removed consent string size restriction on publisher's origin when Storage API is not used.
All details on GitHub

What's next

  • [Discussion] Running 3p scripts in web worker in iframe
  • Support Consent meta data collection via macros
All details on GitHub

Analytics

Status Update Mon Aug 17 2020

What was accomplished

  • Web Worker in iframe: Non origin iframe: around 80ms delay in initialization, but can still access IndexDb db. 3P iframe: around 300ms delay in initialization.
  • Support visibility tracking of non AMP element
  • Consent UI Lightbox mode PR merged
All details on GitHub

What's next

  • Consent: Remove consent string size restriction on publisher's origin when Storage API is not used.
  • Store CID to localStorage on origin as backup
  • Analytics: Visibility tracking to check element's size before using the intersectionRatio value from IntersectionObserver.
All details on GitHub

Analytics

Status Update Mon Aug 03 2020

What was accomplished

  • SESSION_ID: Decided to store to session storage and bypass the storage API as first step.
  • Analytics to temporary collect element width/height & viewport width/height at maximum intersect ratio (For debugging)
  • Consent UI to support dir=rtl
  • Disable promptUISrc from <amp-story-consent>
All details on GitHub

What's next

  • Benchmark delay of creating a web worker within a non origin iframe
  • More granular consent blocking on client side
All details on GitHub

Analytics

Status Update Mon Jul 20 2020

What was accomplished

  • Update <amp-story-consent> to support config in new format
  • <amp-consent> doc improvement (metaData, TCF support, promptUISrc, inline postPromptUI)
  • <amp-consent> UI lightbox mode when initial height is greater than 80vh. (#29204)
  • Decided to keep analytics service running and maintain states when the ampdoc becomes inactive. (This means the lower level timer trigger will continue to fire unless there's a stopSpec)
  • All 3rd background cross origin iframe usage in AMP will NOT be allowed w/o special approval. (#28471)
All details on GitHub

What's next

  • SESSION_ID to support a session id that expires after a defined time
  • Support tracking visibility of non AMP elements
All details on GitHub

Analytics

Status Update Mon Jul 06 2020

What was accomplished

  • Fixed amp-analytics FID, LCP collection
  • Investigated and Fixed IntersectionObserver polyfill issue in inabox
  • Fixed scroll trigger issue
  • Expanded <amp-story-consent> config support
All details on GitHub

What's next

  • Pause analytics trigger in <amp-next-page>
All details on GitHub

Analytics

Status Update Mon Jun 22 2020

What was accomplished

  • Fixit week 9 closed issues
  • Consent Metadata PRs landed. Introduced getConsentMetadata to get TCF v2 related consent meta data including consent string type, gdprApplies and additional consent string info.
  • Consent UI Lightbox design
  • Enabled data-vars attribute for analytics events by default
  • Further expanded the consent info storage limit to 1200 in chars
  • Add expireCache support to amp-consent reprompt action
  • Deprecated and clean up the analytics mApp support.
All details on GitHub

What's next

  • OpenJS World Summit
  • Consent UI lightbox mode API Design
  • InOb Polyfill usage in analytics investigation
  • Expand iframe-transport feature to all analytics vendors (still under discussion)
All details on GitHub

Analytics

Status Update Tue May 26 2020

What was accomplished

  • Turned on analytics-chunks experiment in canary.
  • Expanded consent string size limit to 1kb
  • Decided to introduce Consent UI new lightbox mode docs
  • Decided NOT to proceed with the Standalone analytics solution for AMPHTML Ad for now.
  • Decided keep the existing linker coverage. Will NOT auto launch linker to all browsers for now.
All details on GitHub

What's next

  • Consent metadata & Consent Vendor API redesign
  • Consent UI lightbox mode
  • Next step on granular consent support
  • Grouping target elements for CustomEvent & StoryEvent Issue
All details on GitHub

Analytics

Status Update Mon May 11 2020

What was accomplished

  • Performance Improvement
  • Running analytics-chunks experiment in canary. (Exclude AMPHTML ad)
  • Two existing errors surfaced due to the above experiment Issue Issue

  • Consent

  • Discussion on allowing consent dialog to take over fullScreen on page load Issue
  • Add metadata on top of the raw consent string. PR
  • Fixed consent dialog UI when the navigation bar is displayed. Issue
  • Agreed on expanding raw consent string storage limit up to 1kb.
    • The AMP team will monitor the "storage size exceed limit" error rate.
    • Update from Google AMP Viewer: open to expand the size limit to each domain, if it's the current limit is too small for the TCF V2 consent string.
All details on GitHub

What's next

  • Store consent metadata & pass metadata to vendors
  • Standalone analytics solution for AMPHTML Ad. Looking for early thoughts and ideas! Draft PR Draft PR.
All details on GitHub

Analytics

Status Update Mon Apr 27 2020

What was accomplished

  • amp-geo
  • Landed preset-us-ca support
  • self hosting amp-geo API supports subdivision
  • Performance improvement
  • Split analytics initialization into chunks. (need to run 'analytics-chunks' experiment with AMPHTML ads first)
  • Added analytics request handler to performance test to find potential delay on pageview delay
  • Created test pages array
  • Consent
  • Fix flaky e2e tests
  • Improved vendor facing docs
  • PRs on passing TCF required gdprApplies variable, and consent string type
  • Allowed fullScreen consent dialog when user open it via the postPromptUI button
All details on GitHub

What's next

  • Plan to launch Linker to all browsers (still under discussion)
  • AMP Consent TCF v2 related features support
  • Test and launch analytics-chunks experiment
  • Visibility trigger to support non-AMP element
All details on GitHub

Analytics

Status Update Mon Apr 13 2020

What was accomplished

  • Opened PR to for gulp performance task to test locally hosted websites
  • Fixed bug with analytics variable expansion handling null
  • Worked on TCF v2 gdprApplies field for CMPs and publishers in amp-consent
  • Allowed one tracking iframe per AMP document
  • Support US-CA detection in <amp-geo> via preset-us-ca
All details on GitHub

What's next

  • Continue adding support for gdprApplies
  • Land performance task PR
  • Merge inline and vendor config server side
All details on GitHub

Analytics

Status Update Mon Mar 30 2020

What was accomplished

  • Enhanced gulp performance task to intercept and time requests based upon different team needs (also helps with pinpointing regressions)
  • Launch visibility trigger multi-selector capabilities to config size in amp-analytics
  • Decided to chunk the analytics initialization by triggers to reduce long tasks
  • More US-CA support work on server
All details on GitHub

What's next

  • Monitor analytics request delay using performance task on master for noise and evaluate it's effectiveness
  • QuerySelectorAll for visibility trigger
  • TCF v2 gdprApplies field for CMPs and publishers in amp-consent
  • analytics for ad design
All details on GitHub

Analytics

Status Update Mon Mar 16 2020

What was accomplished

  • Benchmark <amp-analytics> performance and pageView delay
  • Use existing performance testing framework to also measure request delay.
  • Explore solutions to reduce analytics related long tasks. (chunk, worker)
All details on GitHub

What's next

  • <amp-consent> gdprApplies field
  • Continue work to reduce analytics related long tasks
  • Reduce <amp-analytics> pageView delay. Some proposals include: include vendor predefined config inline, introduce a lite component for ads.
All details on GitHub

Analytics

Status Update Mon Mar 02 2020

What was accomplished

  • ANALYTICS_VENDOR_SPLIT Clean up is done. Vendors need to submit .json file instead of .js file in the future
  • Consent String size limit was increased from 150 bytes to 200 bytes. Future increase is still under discussion
  • <amp-geo> falls back to geoApi when geo hot patch is not available. (e.g. self hosting)
  • Visibility trigger improvements for <amp-analytics>: multi-selector, querySelectorAll, and non-amp elements
  • <amp-consent> UX and a11y improvements rolled out
All details on GitHub

What's next

  • Benchmark individual features and heavy operations performance
  • Explore webworker solution for heavy operations
All details on GitHub

Analytics

Status Update Mon Feb 03 2020

What was accomplished

  • <amp-consent> a11y redesign implementation
  • <amp-consent>``enterFullScreen API is now only allowed after user interaction
  • <amp-consent> supports new API for CMPs to collect error messages
  • Design proposal to have <amp-geo> detect California in the format of ISO 3166-2 code
All details on GitHub

What's next

  • Fully launch the <amp-consent> UI enhancement including the tasks above (now protected by experimental flag)
  • Patch ISO 3166-2 code to amp-geo-0.1.js
  • Allow <amp-geo> to fallback to fetch geo location from a remote endpoint. (Discussion from #25873)
All details on GitHub

Analytics

Status Update Mon Aug 19 2019

What was accomplished

  • Add PAGE_VIEW_ID_64 support
  • Add AD_START AD_END events in video analytics
  • Analytics Linker: No longer decorate internal navigation
  • Load analytics vendor's config lazily (currently running experiment)
  • Resolves NAV_TIMING macro earlier depending on the performance timing signal
All details on GitHub

What's next

  • <amp-experiment> 1.0 implementation review
  • Launch the improvement to load analytics vendor's config
  • Launch & Document nested macro feature
All details on GitHub

Analytics

Status Update Mon Jul 08 2019

What was accomplished

Issue triaging - Triaged 120 issues. Attached component labels. Closed 16 obsolete ones. Prioritized ~20 for fixit week.

Bug Fixes - Investigated a regression caused by [PR] (https://github.com/ampproject/amphtml/pull/22812). Cherrypicked a revert PR to inabox canary.

amp-experiment v2 - support selecting multiple elements PR pending

All details on GitHub

What is next

  • Lazily load analytics vendor config
All details on GitHub

Analytics

Status Update Mon Jun 24 2019

What was accomplished

New Features - <amp-experiment> support mutating class attribute PR - Introduce requestOrigin to <amp-analytics> requests config fields. Issue - Introduce $EQUALS macro support in <amp-analytics> Issue - Convert all Analytics vendor config from js file to json file. This is part of the effort to lazily load analytics vendor configs. - Change Analytics Linker's default behavior to decorate all subdomains - Introduce $COOKIE macro support in <amp-analytics> Issue - Allow setting custom cookie expiration time when setting cookie with <amp-analytics>'s cookie config Issue

Bug Fixes - Fix regression where Analytics Linker decorate fragment url - Fix a race condition when resolving performanceTiming.loadEventEnd [PR] (https://github.com/ampproject/amphtml/pull/22812) - Fix race condition where video-percentage-played doesn't trigger Issue - Fix nested macro expansion bug Issue

All details on GitHub

What is next

  • <amp-experiment> v2 to support selecting multiple elements
  • <amp-experiment> v2 to support mutating style and src attribute
  • Lazily load analytics vendor config
All details on GitHub

Analytics

Status Update Mon May 13 2019

What was accomplished

Fixit week - Added doc for Linker wildcard feature - Added amp-analytics integration tests for PWA - Fixing nest macro bug in var - Writing cookies to eTLD+1 to be consistent with CLIENT_ID - WIP amp-call-tracking bug

amp-experiment v2 - Introducing mutation limit and config size limit

All details on GitHub

What is next

amp-experiment v2 - Working towards GA launch with Optimizely

Linker - Enable Linker for eTLD+1 by default

All details on GitHub

Analytics

Status Update Fri Apr 26 2019

What was accomplished

amp-experiment v2 - Integrated with Action Network, had demo in AMP Conf

All details on GitHub

What is next

amp-experiment v2 - Working towards GA launch with Optimizely

ITP2.2 - Evaluate impact

Bugs - Fix nested macro bug #20816 - amp-call-tracking in AdWords #20551

All details on GitHub

Analytics

Status Update Fri Mar 15 2019

What was accomplished

amp-experiment v2 - Fixed a render-delaying service regression #21193

amp-analytics - a CSP friendly way for user to opt-out tracking WIP

Linker - Allow LINKER_PARAM to be used outside WIP

All details on GitHub

What is next

amp-experiment v2 - Version bump - Implement config parser - Security review

Linker - Allow LINKER_PARAM to be used outside cookie writer

amp-analytics - a CSP friendly way for user to opt-out tracking

All details on GitHub

Analytics

Status Update Fri Mar 01 2019

What was accomplished

amp-experiment v2 - bench mark for mutation operations. decided on mutation limit.

Linker - Support wildcard in destination domain setting

All details on GitHub

What is next

amp-experiment v2 - Version bump - Implement config parser - Fix Render-delaying services - Security review

Linker - Allow LINKER_PARAM to be used outside cookie writer

amp-analytics - lazy load vendor config design - a CSP friendly way for user to opt-out tracking

All details on GitHub